我使用vector of vector 的方法,出于性能原因想将其更改为array。但是我没能理解,如果我不知道在我的 while 循环中读取了多少数据,我该如何使用数组(动态)并将数据推送到数组的末尾。下面是片段。您能否解释一下如何在数组上执行它,因为 push_back() 仅适用于 vector ?将不胜感激。
std::vector<vector<double>> v1;
while (1)
{
..../* some code, break condition aswell*/
vector<double> tmp;
while ( .../*new data available*/ )
{
...
tmp.push_back(data);
}
v1.push_back(tmp);
}
最佳答案
A std::vector<T>
是一个动态数组。什么可以加快你的代码是这样的:
std::vector<vector<double>> v1;
while (1)
{
..../* some code, break condition aswell*/
v1.push_back(vector<double>());
while ( .../*new data available*/ )
{
...
v1.back().push_back(data);
}
}
关于c++ - 数组而不是 vector 的 vector ,元素的 push_back()。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25244591/