我在 Cpp 代码中定义了整数值。我需要循环调用它们。我该怎么做?
// Defines:
#define A0 0
#define A1 1
#define A2 2
// ...
#define A50 50
// Now based on loop I need to call these defines
for (int i = 0; i <= 50; i++){
function_name(A<i>, value);
}
最佳答案
#define
宏仅在调用编译器之前由预处理器求值。因此,预处理器宏在运行时不存在,并且不能通过使用其值仅在运行时已知的变量构建的名称来引用。
对于你正在尝试的,你将不得不使用一个数组,例如:
#define A0 0
#define A1 1
#define A2 2
...
#define A50 50
const int A[51] = {A0, A1, A2, ..., A50};
...
for (int i = 0; i <= 50; i++){
function_name(A[i], value);
}
关于c++ - 如何生成动态生成 C++ 定义调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56641002/