數字分隔符

超過幾位的數字文字很難閱讀。

  • 發音 7237498123。
  • 比較 237498123 和 237499123 是否相等。
  • 決定 237499123 或 20249472 是否更大。

C++14 定義簡單引號將'標記為數字分隔符,以數字和使用者定義的文字。這可以使人類讀者更容易解析大量數字。

Version >= C++ 14

long long decn = 1'000'000'000ll;
long long hexn = 0xFFFF'FFFFll; 
long long octn = 00'23'00ll;
long long binn = 0b1010'0011ll;

確定其值時,將忽略單引號。

例:

  • 文字 10485761'048'5760X1000000x10'00000'004'000'000 都具有相同的值。
  • 文字 1.602'176'565e-191.602176565e-19 具有相同的值。

單引號的位置無關緊要。以下所有內容均相同:

Version >= C++ 14

long long a1 = 123456789ll;
long long a2 = 123'456'789ll; 
long long a3 = 12'34'56'78'9ll;
long long a4 = 12345'6789ll;

user-defined 文字中也允許:

Version >= C++ 14

std::chrono::seconds tiempo = 1'674'456s + 5'300h;