如何动态地向数组添加值(推送)?我可以在AS3中这样做,但我在C ++中找不到它的功能。
答案 0 :(得分:8)
如果它是静态定义的数组,则不能这样:
int array[10];
它的大小是固定的。但是,如果您使用std::vector
之类的容器,则使用:
std::vector::push_back()
答案 1 :(得分:6)
无法在静态分配的经典C风格数组中“推送”,并且实现自己的'方法'来动态重新分配数组不是一个好主意,这已在STL中为您完成,您可以使用vector
:
#include <vector>
// ...
std::vector<int> vect;
vect.push_back(1);
vect.size(); // --> 1
vect.push_back(2);
vect.size(); // --> 2
// ...
答案 2 :(得分:1)
使用std :: vector。你不能推入C风格的数组,例如INT []。
答案 3 :(得分:1)
假设你的意思不是std::vector<>
,你显然会使用std::vector<>::push_back()
,而是一个实际的数组,那么你需要知道
上述当然意味着您知道上次使用的插槽所在的可用内存中的位置。
这就是std::vector<>
的用途,你知道。