rub*_*nvb 12 c++ reserved-words keyword c++11
我试着编译这个:
enum class conditional_operator { plus, or, not };
Run Code Online (Sandbox Code Playgroud)
但显然GCC(4.6)认为这些是特殊的,而我找不到一个说它们的标准(C++ 0x n3290或C99 n2794).我正在编译g++ -pedantic -std=c++0x
.这是编译器的便利吗?我该如何关闭它?不应该-std=c++0x
关闭这个"功能"?
PS:嗯,显然,MarkDown代码格式化也是如此......
APr*_*mer 15
看看2.5.它们是替代令牌||
和!
.
还有一堆其他替代令牌BTW.
编辑:包含它们的基本原理与三字符相同:允许使用非ASCII字符集.该委员会试图摆脱它们(至少是三字母,我不记得替代令牌),并且遇到了使用它们的人(主要是IBM大型机用户)的反对.
编辑完整性:正如其他人发表评论一样,加上不在该类中,除非你是,否则不应该成为问题using namespace std
.
or
和not
是的可选表示||
和!
分别.你无法关闭它们,你不能将这些令牌用于其他任何东西,它们是语言的一部分(当前的C++,甚至不仅仅是C++ 0x).(参见ISO/IEC 14882:2003 2.5 [lex.digraph]和2.11 [lex.key]/2.)
你应该安全,plus
除非你使用using namespace std;
或using std::plus;
.
归档时间: |
|
查看次数: |
367 次 |
最近记录: |