使用变量定义变量名
Using variables to define variable names
我确信有一个非常简单的答案,也许我只是健忘,但我不记得如何使用一个变量来定义另一个变量的名称。我什至想不出这个搜索现有答案的过程的名称。
我有一个变量:VarA,它将是一个整数 1、2、3、4 等
我有另一组数组 VarBn[],其中 'n' 与 VarA 相关。
所以,当 VarA=1 我想知道 VarB1[],当 VarA=2 ... VarB2[]
我目前有一个很长且重复的 switch 语句...
switch(VarA)
case 1: x=VarB1[]; break;
case 2: x=VarB2[]; break;
case 3: x=VarB3[]; break;
case 4: x=VarB4[]; break;
但如果只有一行,功能会小得多...
x=VarB+"contents of VarA"+[];
要搜索的词是“讨厌的令人费解的宏巫术”。但说真的,不要去那里。变量名称在运行时不存在。你想做的事,C++做不到。
但是,只要您将变量命名为 X1
、X2
、...XN
,那么该变量实际上希望成为数组的成员。如果您使用二维数组,那么该开关将变得简单:
x = VarB[VarA];
(顺便说一句,x=VarB1[]
看起来不像是有效的语法,在不知道 VarB
和 VarA
实际上是什么的情况下,我无法告诉你以上是否正确。)
我确信有一个非常简单的答案,也许我只是健忘,但我不记得如何使用一个变量来定义另一个变量的名称。我什至想不出这个搜索现有答案的过程的名称。
我有一个变量:VarA,它将是一个整数 1、2、3、4 等
我有另一组数组 VarBn[],其中 'n' 与 VarA 相关。
所以,当 VarA=1 我想知道 VarB1[],当 VarA=2 ... VarB2[]
我目前有一个很长且重复的 switch 语句...
switch(VarA)
case 1: x=VarB1[]; break;
case 2: x=VarB2[]; break;
case 3: x=VarB3[]; break;
case 4: x=VarB4[]; break;
但如果只有一行,功能会小得多...
x=VarB+"contents of VarA"+[];
要搜索的词是“讨厌的令人费解的宏巫术”。但说真的,不要去那里。变量名称在运行时不存在。你想做的事,C++做不到。
但是,只要您将变量命名为 X1
、X2
、...XN
,那么该变量实际上希望成为数组的成员。如果您使用二维数组,那么该开关将变得简单:
x = VarB[VarA];
(顺便说一句,x=VarB1[]
看起来不像是有效的语法,在不知道 VarB
和 VarA
实际上是什么的情况下,我无法告诉你以上是否正确。)