0

我想通过在这样的 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]);
  }
}

有没有办法做到这一点?

4

1 回答 1

1

您似乎建议的是在运行时创建一个变量,其名称也是变量,这是不可能的。你可以做的是创建一个地图,让你的键是变量数组中的条目,你的值是值数组中的条目。

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; 
}
于 2014-10-12T15:41:09.563 回答