我有一个在i
上运行的for循环。对于每次迭代,我希望它创建一个名为var_i
的变量,即如果我的循环遍历i=0
到i=4
,它应该创建像
var_0
,var_1
,var_2
,var_3
和var_4
。如何在c ++中执行此操作?
答案 0 :(得分:3)
你不能,必须在编译时知道变量名。您无法在运行时创建新的变量名称。
如果您的变量是连续的,则替代是std::map
或std::vector
。
std::map<int,int> int_;
std::vector<int> vint_;
vint_.resize(5);
for ( int i = 0 ; i <= 4 ; i++ )
{
int_[i] = i;
vint_[i] = i;
}
您的变量为int_[0]
或vint_[0]
到int_[4]
或vint_[4]
。
答案 1 :(得分:2)
您无法在运行时创建变量。请改用std:vector
,以便获得var[0]
,var[1]
等。
答案 2 :(得分:0)
您还可以使用所需大小的数组,并在循环中使用默认值对其进行初始化
int var[4];
for(int i=0; i < 4; i++){
var[i] = 0;
}