我想知道在C ++代码中使用字符$
或@
是否被认为是不好的做法,就像在宏中一样。
我没有在任何地方看到它们,即使它们在ASCII表中,就像#
字符一样。
我实际上非常想把我的宏命名为“$ SomeMacro()”,而不是好老的尖叫“SOME_MACRO()”,它在gcc,clang和msvc中编译得很好。
无论如何,这不是一个好主意,但如果你来自JavaScript的世界(例如着名的jQuery的$
)或其他类似的语言,并且你想要花哨,你确实可以使用很多东西!
例如,$
是许多编译器的扩展:
int $() {
return 42;
}
您还可以使用其他Unicode字符:
int ᚁᚂᚃ() {
return 42;
}
而且,你甚至可以使用表情符号:
int 😃() {
return 42;
}
参见例如Does C++11 allow dollar signs in identifiers?了解更多正式细节。
此外,请注意,在MSVC下,如果你想玩这个,你可能会想要/utf-8
和/permissive-
。