2013-03-29 29 views
0

我需要在C++中定义一个结构(或类),它具有固定数量的数据/函数成员。虽然从这个类创建的实例数量需要增加或减少(并且我不知道我需要多少个实例,这是实时确定的)。一个例子是一个带有数据成员的类“书”:“成本”,“作者”等,但随着人们借阅/收回书籍,图书馆的书籍数量可能增加/减少。所以我不能用这样的东西:从结构/类实例化的对象的变量数

book *pointer = new book[3] 

因为我不知道我是否会有3本书。

请指导我采取什么样的策略。

回答

0

您可以存储

std::vector<book> books 

vector具有resize功能。

+0

感谢您的回答!我探索了矢量,它实际上做我想要的。另外,我看到我可以在矢量上使用sort()函数。但是在这里,如果我想根据每个结构元素的第一个成员对矢量元素(它们是自己的结构)进行排序,那么我该怎么做? sort函数是否有一个参数来告诉它根据结构元素的第i个数据成员对结构向量进行排序? – user2225868

+0

@ user2225868:有两个选项。一,重载操作符<你的结构。其次,编写一个函数返回布尔值并取出结构的两个对象。当且仅当第一个对象较少时,该函数应该返回true(应该以排序顺序排在第一位)。然后将该函数作为第三个参数进行排序 –