【发布时间】:2014-08-11 13:35:28
【问题描述】:
我使用 vector of vector 的方法,出于性能原因想将其更改为 array。但是,如果我不知道在 while 循环期间读取了多少数据,我无法尝试理解,如何使用数组(动态)并在数组末尾推送数据。下面是sn-p。您能否解释一下如何在数组上执行它,因为 push_back() 仅适用于矢量?将不胜感激。
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);
}
【问题讨论】:
-
std::array,原生数组还是动态内存管理?如果你打算使用push_back,你应该坚持使用向量。 -
我进行了编辑,以便我的问题明确。我想知道如何在无法使用 push_back() 的情况下使用数组
-
简短回答:你不能。长答案:您可以通过使用动态分配的数组并根据需要调整其大小。但是,如果
std::vector自动执行此操作,您为什么要这样做? -
我提出了我倾向于动态数组方向的问题,但不确定如何。我的意思是,出于性能原因。
-
嗯,是的,但是
std::vector基本上是 一个动态数组,我很困惑您希望通过手动执行std::vector获得什么性能提升自动执行。我敢打赌,您实际上会以更差的表现告终。
标签: c++ arrays vector dynamic-arrays push-back