在C/C++中一些#define的用法大家可能还不清楚 整理了一些,以备日后查阅。
1.
#define Conn(x,y) x##y
x##y表示x连接y,举例说明:
int n = Conn(123,456); 结果就是n = 123456;
char* str = Conn("abc","def"); 结果就是 str = "abcdef";
2.
#define ToChar(x) #@x
#@x,就是给x加上单引号,结果返回一个 const char,举例说明:
char a = ToChar(1); 结果就是 a = '1';
做个越界试验 char a = ToChar(123); 结果是 a = '3';
但是如果参数超过四个字符,编译器就会报错。
3.
#define ToString(x) #x
#x就是给x加上双引号,举例说明:
char* str = ToString(1234); 结果是 str = "1234";