C++ 如何在循环中动态创建变量(c+;+;)
我想在循环中创建一些变量,例如C++ 如何在循环中动态创建变量(c+;+;),c++,C++,我想在循环中创建一些变量,例如 for(int i = 0; i < _vector.size(); i++) //_vector is a vector struct { auto v = _vector.at(i); auto xi = get_name(v); //how to create x0,x1,x2,x3.....dynamically in this loop } for(int i=0;i
for(int i = 0; i < _vector.size(); i++) //_vector is a vector struct
{
auto v = _vector.at(i);
auto xi = get_name(v); //how to create x0,x1,x2,x3.....dynamically in this loop
}
for(int i=0;i<\u vector.size();i++)/u vector是一个向量结构
{
自动v=_向量在(i)处;
自动席= GETYNEX(V);/ /如何在这个循环中动态创建X0、X1、X2、X3……
}
有人知道怎么做吗?
非常感谢 如果您想将这些变量引用为x1、x2等,最好创建一个向量来存储这些变量 下面的代码是为了支持整数而编写的,但是,可以用另一种数据类型替换
vector<int> x;
for(int i = 0; i < _vector.size(); i++) //_vector is a vector struct
{
auto v = _vector.at(i);
x.push_back(get_name(v)); //sets the value of x.at(0), x.at(1)...
}
向量x;
对于(int i=0;i<_vector.size();i++)/_vector是一个向量结构
{
自动v=_向量在(i)处;
x、 向后推(get_name(v));//设置x.at(0)、x.at(1)的值。。。
}
很不清楚你在说什么,我认为OP误解了关键字的意思。在标准C++中是不可能的。对于类似的问题,如果您正在寻找创建字符串x0,x1,x2,其中x0,x1,x2是变量,这是不可能的。OP,考虑如何在循环之外使用这些变量,即使可以创建它们。由于它们没有在编译时定义,编译器对它们一无所知。在C++中,这没有道理。但既然你说的是动态变量,你可以使用一个映射,其中键是你的“变量名”,值是它的值。但是没有匹配的构造函数来初始化我的数据type@yisun03您应该能够在向量中使用数据类型。我们可以看到数据类型背后的代码吗?数据类型是Z3:ExPR,Z3是一个定理证明器,我使用它的C++ API,Z3::EXPR没有默认值。constructor@yisun03如果您发布了get\u name
函数的代码,可能会有所帮助。我建议提交一个新的问题和这些信息,因为你更有可能吸引更熟悉这个库的人。