28 January 2024

C++ 核心指南目录

“Make literals readable”

理由

可读性。

例子

用数字分隔号把长数字分隔开。

auto c = 299'792'458; // m/s2
auto q2 = 0b0000'1111'0000'0000;
auto ss_number = 123'456'7890;

例子

用字面量后缀区分不同类型。

auto hello = "Hello!"s; // a std::string
auto world = "world";   // a C-style string
auto interval = 100ms;  // using <chrono>

注意

字面量不应该作为神秘常量在代码里到处分散开来。但是,在其定义的地方把他们变的更容易读取还是值得的。对于很长的数字,很容易写错。

强化

  • 标记很长的数字序列。很难定义什么是“长”,或许超过 7 个数字就算长了。