提高C+中超大常量的可读性+; 在C++中,有时你想声明大量的数字。有时很难确定零的数目是否正确 const long long VERY_LARGE_NUMBER = 300000000000;

提高C+中超大常量的可读性+; 在C++中,有时你想声明大量的数字。有时很难确定零的数目是否正确 const long long VERY_LARGE_NUMBER = 300000000000;,c++,C++,在像OCaml这样的语言中,可以用下划线分隔数字以提高可读性 let x = 300_000_000_000;; C++中是否存在类似的机制?我见过像=1这样的事情,你呢 const long long VERY_LARGE_NUMBER = (long long) 300 * 1000 * 1000 * 1000; 自C++14以来,integer literal支持使用“作为分隔符。例如,无符号长l2=18'446'744'073'709'550'592llu。有关详细信息,请参阅。

在像OCaml这样的语言中,可以用下划线分隔数字以提高可读性

let x = 300_000_000_000;;
<> C++中是否存在类似的机制?我见过像
=1这样的事情,你呢

const long long VERY_LARGE_NUMBER =  (long long) 300 * 1000 * 1000 * 1000;

自C++14以来,integer literal支持使用
作为分隔符。例如,
无符号长l2=18'446'744'073'709'550'592llu。有关详细信息,请参阅。此外,您可以考虑使用科学符号,如<代码> 123E4< /代码>。这样的文字是。但您可以将它们转换为整数类型。

有时十六进制表示法会有所帮助。否则,我唯一能想到的办法就是在声明上面加上评论!!您也可以对常数使用科学记数法,即
const long VERY_LARGE_NUMBER=3e11@Mat很棒的c++14功能需要此帮助吗<代码>常量长非常大的数字=3e10这就是我经常实现可读性的方法。看起来,如果您的环境支持C++14,它正是您想要的。这在任何地方都有效;)从某种角度来看,浮点文字的可读性甚至更低,因为它会立即引发对精度损失的担忧。
const long long VERY_LARGE_NUMBER =  (long long) 300 * 1000 * 1000 * 1000;