我知道如何让结构中的结构工作,但我无法工作的是结构中结构的 vector 。
在正常基础上创建一个结构的 vector 例如:
vector<struct> str1(100);
但是如果我有以下代码,我该怎么做:
struct attribures {
string name;
bool value;
};
struct thing {
string name;
double y;
int x;
vector<attributes> attrib;
};
我现在如何初始化 vector 的元素?我可以做的一件事如下:
attributes a;
objec.attrib.push_back(a); // object is a struct of type thing
但是这个解决方案对我来说似乎并不那么优雅。无论如何,还有更多的是第一种吗?
编辑:很抱歉造成混淆。 “100”实际上只是一个例子,在第二个例子中它实际上也只是一个例子,它应该展示它是如何完成的,但对我来说似乎不是很优雅。
最佳答案
也许向属性
添加一个构造函数:
struct attributes{
attributes(const string& name, bool value) : name(name), value(value) {}
string name;
bool value;
};
然后:
object.attrib.push_back(attributes("foo", true));
关于c++ - 初始化结构中结构的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7146297/