我有一个类,其中包含名字、年龄、学校等字段。我需要能够存储其他信息,例如,他们去过哪里,以及那一年。我不能专门声明另一个类来保存 travelDestination 和哪一年,所以我认为结构可能是最好的。这只是一个例子:
struct travel {
string travelDest;
string year;
};
问题是人们可能旅行了不同的距离。我正在考虑只使用一组旅行结构来保存数据。但是我如何创建一个固定大小的数组来容纳它们,而不知道我需要它有多大?
也许我正在以完全错误的方式解决这个问题,所以任何关于更好方法的建议都将不胜感激。
我意识到类和结构之间基本上没有区别,但出于分配标准的目的,我不允许使用“类”,所以是的。
最佳答案
您可以尝试关联一个 std::vector每个人, vector 中的每个条目都包含一个结构:
typedef struct travel {
string travelDest;
string year;
} travelRecord;
std::vector<travelRecord> travelInfo;
然后您可以根据需要向 vector 添加项目:
travelRecord newRecord1 = {"Jamaica", "2010"};
travelInfo.push_back(newRecord1);
travelRecord newRecord2 = {"New York", "2011"};
travelInfo.push_back(newRecord2);
可以找到有关 vector 运算的更多信息here .
关于C++ 一个带有结构数组的类,不知道我需要多大的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474282/