我试图了解应该以哪种方式实现 vector ,以便减少程序中的运行时间和内存使用量,或者这无关紧要(仅取决于程序对这些元素所做的计算)?

假设我在不知道程序中将要使用多少个元素的情况下定义了一个 vector ,但我知道将要使用的最大元素数

#define MAX 10000
vector<int> eg(MAX);

在另一种情况下,我先指出多少个元素,然后相应地确定其大小
vector<int> eg;
int n;
cin >> n;
eg.resize(n);

最佳答案

如果您知道 vector 将存储的最大元素数,则最好使用成员函数reserve。例如

const std::vector<int>::size_type MAX = 10000;
vector<int> eg;
eg.reserve( MAX );

10-08 08:11
查看更多