将变量添加到已在c ++中声明的数组中?

时间:2012-09-24 22:55:51

标签: c++ vector

我希望程序启动时能够有一个空数组,在运行时填充它,并删除它内部的东西。这可能必须是一个多维数组。那么,我该怎么做?

实施例

int randomNumber;
int RandomString;
int array[] = {};
for(int i;int i < 10; int i ++){

array + random variable;
array + random string;

}

所以,看起来像是:

  

array [] = {{randomint,randomstring},{randomint,rrandomstring}}

这可能吗?

4 个答案:

答案 0 :(得分:6)

您可以使用std::vectorpush_back()代替。努夫说。

答案 1 :(得分:0)

如果你想将预定义的变量添加到数组中,你可能想要保留两件事,一个是变量的值,第二个是变量本身

如果你想让变量的值非常简单,如果你想让它在数组上而不是某些动态数据类型那么你必须声明一个有限大小的数组 对于数组的动态扩展,你必须使用某种类型的数据结构,如矢量或链表,并在那里添加变量的值 但是如果你想把变量保存为自己,那么你必须声明指针数组并存储变量的地址,这样你就可以通过使用那个数组来访问这些变量。

答案 2 :(得分:0)

你只需要考虑你想要使用的容器,它就是一个地图或矢量列表,它们都有自己的利弊。在做出决定之前做一些更多的功课我的肠道要么是一个向量,要么是一个列表列表只是因为你想要一个空的然后添加它。考虑一下这个Container是否会被订购,如果你想要通过它进行枚举。

答案 3 :(得分:0)

您需要做的是构建一个包含一对的矢量地图 然后当你遍历数据时,你创建一个新的对并分配你需要的值。
然后将它推入向量。

int randomNumber = 0;
string randomString = "test";

map< int, vector <pair< int, string >>> myArray;

for ( int i = 0; i < 10; i++ )
{
    pair<int, string> p;
    p.first = randomNumber;
    p.second = randomString;

    myArray[i].push_back(p);
}