我想通过在这样的for循环中调用它们来初始化一堆变量。我希望的结果是,我在最后aVar = 1,bVar = 2,cVar = 3时有三个变量。
char* variables[] = { "aVar", "bVar", "cVar"};
int values[] = { 1, 2, 3};
void setup(){
for (int i = 0; i < 3; i++){
int String(variables[i]) = values [i];
Serial.println(variables[i]);
}
}
&#13;
有办法做到这一点吗?
答案 0 :(得分:1)
您似乎建议在运行时创建一个变量,其名称也是变量,这是不可能的。你可以做的是创建一个map并让你的密钥成为变量数组中的条目,你的值是来自values数组的条目。
using namespace std;
int main()
{
char* variables[] = { "aVar", "bVar", "cVar"};
int values[] = { 1, 2, 3};
map<string, int> VariablesMap;
for(int i = 0; i < 3 ; i ++)
{
VariablesMap[variables[i]] = values[i];
}
return 0;
}