在C ++代码中使用字符`$`或`@`有什么问题吗?

问题描述 投票:0回答:1

我想知道在C ++代码中使用字符$@是否被认为是不好的做法,就像在宏中一样。

我没有在任何地方看到它们,即使它们在ASCII表中,就像#字符一样。

我实际上非常想把我的宏命名为“$ SomeMacro()”,而不是好老的尖叫“SOME_MACRO()”,它在gcc,clang和msvc中编译得很好。

c++
1个回答
1
投票

无论如何,这不是一个好主意,但如果你来自JavaScript的世界(例如着名的jQuery的$)或其他类似的语言,并且你想要花哨,你确实可以使用很多东西!

例如,$是许多编译器的扩展:

int $() {
    return 42;
}

您还可以使用其他Unicode字符:

int ᚁᚂᚃ() {
    return 42;
}

而且,你甚至可以使用表情符号:

int 😃() {
    return 42;
}

参见例如Does C++11 allow dollar signs in identifiers?了解更多正式细节。

此外,请注意,在MSVC下,如果你想玩这个,你可能会想要/utf-8/permissive-

© www.soinside.com 2019 - 2024. All rights reserved.