零永远是零,所以没关系。但是在最近一次与 friend 的讨论中,他说八进制立即数今天几乎没有使用。†然后我发现实际上我的代码中几乎所有整数常量都是八进制的,即0
。0
是根据C++语法的八进制文字吗?标准怎么说?
†我知道的唯一真正用途是用于UNIX文件权限。
最佳答案
是的,0
是C++中的八进制文字。
根据C++标准:
2.14.2整数文字[lex.icon]
integer-literal:
decimal-literal integer-suffixopt
octal-literal integer-suffixopt
hexadecimal-literal integer-suffixopt
decimal-literal:
nonzero-digit
decimal-literal digit
octal-literal:
0 <--------------------<Here>
octal-literal octal-digit
关于c++ - 0是十进制文字还是八进制文字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6895522/