如果可能的话,我想使用动态名称。这是一个关于我的意思的例子:
int sol1,sol2;
for(int i=1; i<3; i++){
sol"i"=i*i;
return max(sol1,sol2);
}
With sol"i"
I mean sol1
在第一个周期(当 i=1 时)并且sol2
第二个(当 i=2 时)。
这是否可以以类似的方式实现?
It is not可以按照您的要求进行操作,但是您应该发现其他替代方案同样具有表现力。
最常见的方法可能是使用vector
(或数组)并对其进行索引:
std::vector<int> sol(2);
for (int i = 0; i < 2; ++i) {
sol[i] = i * i;
}
另一种方法是使用std::map
将所需名称映射到结果变量:
std::map<std::string, int> variables;
for (int i = 1; i < 3; ++i) {
std::string varname = "sol" + std::to_string(i);
variables[varname] = i * i;
}
但请注意,这是一个极其缓慢的解决方案。我提到它只是因为它允许您执行与原始示例类似的操作。请改用向量/数组方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)