鉴于这样的假设情况:
int val1, val2, val3, choice;
while (expression) {
cin >> choice;
if (choice == 1) {
val1 += expression;
} else if (choice == 2) {
val2 += expression;
} else if (choice == 3) {
val3 += expression;
} else {
expressions..;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将变量名称视为字符串,以便能够"组合"它们?这可能是有用的,例如在上面的例子中,甚至更好的在for循环中,将计数器值添加到变量名称,以便在每个循环中调用不同的变量.
有了这样的功能,我上面的例子会变成:
int val1, val2, val3, choice;
while (expression) {
cin >> choice;
if (choice == 1 || choice == 2 || choice == 3) {
['val' + choice] += expression;
} else {
expressions..;
}
}
Run Code Online (Sandbox Code Playgroud)
我不认为我选择了最好的例子来表示这样一个功能的好处,无论如何我以前用PHP和SQL做了很多,例如使用循环中的计数器的值来每次选择一个不同的数组的项,并在新的SQL语句中声明它.
有谁知道在C++中是否可以这样的东西?
如果事情不明确,请告诉我.
谢谢 :)
尝试一个数组:
int vals[3] = {0}, choice;
while (expression) {
cin >> choice;
if (choice >= 1 && choice <= 3) {
// arrays are indexed starting at 0
vals[choice-1] += expression;
} else {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |