C ++如何打印联合名称整数

时间:2015-07-04 20:17:09

标签: c++

我想在C ++中打印整数:

int n5x = 1;
int n5y = 2;
[...]
int value = 5;

cerr << n+value+x << n+value+y << endl;

这在C ++中是否可行?
感谢

2 个答案:

答案 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也是如此。)