从结构/类实例化的对象数量可变 我需要定义C++中的结构(或类),它有固定数量的数据/函数成员。虽然这个类的实例数量需要增加或减少(我不知道需要多少实例,这是动态确定的)。例如,一个类“book”,其数据成员为:“cost”、“author”等。但随着人们借书/还书,图书馆中的图书数量可能会增加/减少。所以我不能用这样的东西: book *pointer = new book[3]

从结构/类实例化的对象数量可变 我需要定义C++中的结构(或类),它有固定数量的数据/函数成员。虽然这个类的实例数量需要增加或减少(我不知道需要多少实例,这是动态确定的)。例如,一个类“book”,其数据成员为:“cost”、“author”等。但随着人们借书/还书,图书馆中的图书数量可能会增加/减少。所以我不能用这样的东西: book *pointer = new book[3],c++,class,structure,C++,Class,Structure,因为我不确定我是否会有3本书 请指导我应该采取什么样的策略 您可以存储 std::vector<book> books std::矢量书 有多种功能。谢谢您的回答!我探索了向量,它实际上做了我想要的。另外,我看到我可以对向量使用sort()函数。但是在这里,如果我想对向量元素(即结构本身)进行排序,而不必基于每个结构元素的第一个成员,我应该怎么做?sort函数是否有参数告诉它根据结构元素的第i个数据成员对结构向量进行排序?@user2225868:有两个选项。第一,重载运算符

因为我不确定我是否会有3本书

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

您可以存储

std::vector<book> books
std::矢量书

有多种功能。

谢谢您的回答!我探索了向量,它实际上做了我想要的。另外,我看到我可以对向量使用sort()函数。但是在这里,如果我想对向量元素(即结构本身)进行排序,而不必基于每个结构元素的第一个成员,我应该怎么做?sort函数是否有参数告诉它根据结构元素的第i个数据成员对结构向量进行排序?@user2225868:有两个选项。第一,重载运算符<用于您的结构。其次,编写一个函数,返回bool并获取结构的两个对象。当且仅当第一个对象较少时(应按排序顺序排在第一位),函数应返回true。然后将该函数作为第三个参数传递给sort