如何根据输入分配变量类型?

时间:2018-07-01 19:37:29

标签: c++ c++17

我希望能够根据我读入的关键字来分配变量类型。 例如:我读了“ a:17”行。因为我看到“ a”,所以我知道下面的将是一个整数,因此可以将其存储为整数。 但是,如果我看到“ b:x”,则因为看到了“ b”,所以我知道后面将是一个字符,因此可以将其存储为字符。 同样,如果我看到“ c:hello”,则“ c”告诉我后面是一个字符串,我可以将其存储为字符串。

我有6种这样的类型,从带符号整数到字节数组。我想做的是创建一个存储类型的结构,然后有一个取决于类型的变量。理想情况下:

struct optional {
    char type;
    *variable type* value;
}

我意识到我只可以存储6个变量,每种可能读取的类型都可以存储一个。我没有这样做的原因是因为我不确定这是否会占用大量内存。如果我创建这种结构的1000个实例,而每个实例仅需要这6个变量中的1个,其他5个变量是否会占用任何内存?

谢谢!

0 个答案:

没有答案