我正在从文件中读取数字,然后尝试将它们添加到数组中。我的问题是如何增加数组的大小?例如,我认为也许可以这样做:
#include <iostream>
using namespace std;
int main() {
double *x;
x = new double[1];
x[0]=5;
x = new double[1];
x[1]=6;
cout << x[0] << "," << x[1] << endl;
return 0;
}
但这显然只是覆盖了我最初设置为 x[0] 的值 5,因此输出 0,6。我该如何使它输出5,6?
请注意,对于我所包含的示例,我不想将其与从文件读取的代码或从用户处获取数字的代码混淆。在实际的应用程序中,我不知道编译时需要多大的数组,所以请不要告诉我只创建一个包含两个元素的数组并将它们分别设置为 5 和 6。
您不想直接使用数组。考虑使用vector
, 反而。然后,您可以调用push_back
函数将东西添加到末尾,它会自动为您调整向量的大小。
#include <iostream>
#include <vector>
int
main() {
double value;
std::vector<double> values;
// Read in values
while (std::cin >> value) {
values.push_back(value);
}
// Print them back out
for (std::size_t i(0), len(values.size()); i != len; ++i) {
std::cout << values[i];
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)