我的数据来自一个看起来像这样的套接字:
(h)(int,char,float,int,char)(/h)(d)(2,a,1.32,45,d)(3,d,3.45,32,a)(/d)
到达数据的数据类型是动态的,仅在收到标头时才知道。然后我必须创建相应的std::vector
来存储数据。在这种情况下,两个int
,两个char
和一个float
向量。在这种情况下,我不知道如何初始化。有人可以帮助我吗?
答案 0 :(得分:1)
std::vector
本身无法做到这一点。听起来你需要类似于Boost.Any或Boost.Variant的东西,你需要决定哪个。如果您的类型很少,那么简单的union
也可以使用。
答案 1 :(得分:0)
我想我明白了。如果union包含所有数据类型,我可以在任何时间使用其中一个,并且可以使用union的名称初始化它。辉煌。谢谢!