最佳答案
从 C + + 14开始,多亏了 N3781(它本身并没有回答这个问题) ,我们可以编写如下代码:
const int x = 1'234; // one thousand two hundred and thirty four
目的是改进这样的代码:
const int y = 100000000;
让它更具可读性。
在 c + + 11中,下划线(_
)已经被用户定义的文字取代了,而且逗号(,
)存在本地化问题 & mash,许多欧洲国家令人困惑地使用 & 匕首;作为小数点 & mash,并且与逗号操作符发生冲突,尽管我确实想知道现实世界中的代码可能会因为允许使用例如 1,234,567
而被破坏。
不管怎样,一个更好的解决方案似乎是太空人:
const int z = 1 000 000;
这些相邻的数字文字标记可以像字符串文字一样由预处理器连接起来:
const char x[5] = "a" "bc" "d";
相反,我们得到了撇号('
) ,我所知道的任何书写系统都没有使用它作为数字分隔符。
选择撇号而不是简单的空格有什么原因吗?
令人困惑的是,所有这些语言,在文本中,都保持着逗号“分解”原子句的概念,句号起到“终止”句子的作用,至少对我来说,这非常类似于一个逗号“分解”数字的整数部分,句号“终止”它准备进行小数输入。