c++ - C语言中宏的使用

标签 c++ c macros

我需要使用宏连接字符串以生成函数名称。

#define CONCAT(a,b,c) a ## b

int i=1;
CONCAT(a,i)

这段代码的结果是ai,而我想要的是a1

由于我的源代码中有很多功能,我不想一一列举。

我的目标:

for(int i=0;i<100;i++)
{
    Funi1();//here i should be from  0 to one hundred 
    Funi2();
    Funi3();
    Funi4();
    ..
}

@Potatoswatter

我写了一个脚本来扩展它,输出文件有几百行。 @埃里克芬恩

最佳答案

这是不可能的,因为宏在预处理阶段被展开。 因此,它不能取变量的值并进行连接。

关于c++ - C语言中宏的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16984483/

相关文章:

c++ - 有什么办法可以将这个函数分开并插入空格吗?

c - Pipe() fork() 和 exec

C代码小波变换及解释

c - 在 C 中为标准函数进行类型转换

macros - Julia:宏如何知道它们的参数何时停止?

c++ - 使用 constexpr 返回指针

c++ - vector<string> 在堆上,使用初始化列表?

c++ - 如何使用默认值将值分配给构造函数中的枚举?

c - 监听按键而不停止整个 C 程序

macros - 如何在Rust宏中匹配表达式的类型?