##用于连接两个字符串,如:
- #define DEF(t) "str"##t
- int main(array<System::String ^> ^args)
- {
- char ch[] = DEF("123");
- cout << ch << endl;
- getchar();
- return 0;
- }
返回:str123
但,下面会提示编译错误:
- #define DEF(t) "str"##t
- int main(array<System::String ^> ^args)
- {
- string str = "123";
- char ch[] = DEF(str);
- cout << ch << endl;
- getchar();
- return 0;
- }
原因就是#define只是简单的替换,不会去取值