摘要訊息 : C++ 14 引入了使用單引號作為長數字的分隔.
0. 前言
在日常的程式設計當中, 經常會使用到大數字. 我們在閱讀大數字的時候, 可能因為數字過長存在一定的閱讀困難.
N3781 《Single-Quotation-Mark as a Digit Separator》這個提案的目的就是使用單引號對數字進行分割, 提高數字的可讀性.
更新紀錄 :
- 2022 年 4 月 16 日進行第一次更新和修正.
1. 提案內容
假設現在有一個十六進制數字 0x00007FECBA0AF970
, 按照提案對其進行分割之後, 可以寫成 0x0000'7FEC'BA0A'F970
.
除了十六進制, N3781 中提出了對十進制, 小數, 八進制甚至二進制使用單引號作為隔離者 :
- 十進制 :
8888'8888
; - 小數 :
9678'0092.1234'5678
; - 八進制 :
0'1234'567
; - 十六進制 :
0x0000'7FEC'BA0A'F970
; - 二進制 :
0100'1100'0001'1111b
.
在 C++ 14 中除了二進制之外, 其它都可以直接當作數字直接使用. 一個字面值數字中, 除了首尾以及十六進制的 x
和 X
左右不可以出現單引號之外, 其它位置都可以使用單引號進行分割.
2. 評論
程式碼的可閱讀性一直都是程式設計師比較關注的方面, 為了提高程式碼的可閱讀性, 程式設計師們通常使用註解以及說明文檔的方式. 這篇提案通過引入數字隔離者提高了字面值數字的可讀性, 儘管可能被大家忽略, 但是對於 C++ 程式碼的可讀性提高有一定的幫助.
自創文章, 原著 : Jonny. 如若閣下需要轉發, 在已經授權的情況下請註明本文出處 :