我想在C ++中打印整数:
int n5x = 1;
int n5y = 2;
[...]
int value = 5;
cerr << n+value+x << n+value+y << endl;
这在C ++中是否可行?
感谢
答案 0 :(得分:1)
你好吗?你的意思是扩展符号名称并在运行时绑定它们吗?cerr << n+value+x << n+value+y << endl;
不,那是不可能的。
您可以获得的最接近的事情是设置std::map<std::string,int>
并根据需要生成键字符串值。
答案 1 :(得分:1)
正如已经提到的,你不能以某种方式&#34;构建&#34;运行时的一些字符串,并将其用作变量名称。这是一个编译时机制,即使这是一个编译时问题,也不是一个好主意。
你很可能想要
std::vector<int> nx(someLength);
std::vector<int> ny(someLenght);
int value = 5;
cerr << nx[value] << ny[value] << endl;
代替。 (如果std::array<int, someLength> nx{}
在编译时已知并且不大,那么someLength
也是如此。)