摘要訊息 : C++ 14 Proposal N3781 《Single-Quotation-Mark as a Digit Separator》導讀

C++ 14 Proposal N3781 《Single-Quotation-Mark as a Digit Separator》

在日常的程式設計當中, 經常會使用到大數字. 大數字在閱讀的時候, 可能因為字串過於長, 所以存在一定的閱讀困難. 這個 Proposal 的目的就是讓數字分割之後, 提高數字的可讀性

假設現在有一個記憶體地址, 它由十六進制來表示 :

0x00007FECBA0AF970

使用單引號將其分割之後, 可以這樣表示 :

0x0000'7FEC'BA0A'F970

#include <iostream>



using namespace std;



int main(int argc, char *argv[]) {

    cout << 0x0000'7FEC'BA0A'F970 << endl;      //輸出結果 : 140654710290800

}

除了十六進制, Proposal 中提出了對十進制, 小數, 八進制甚至二進制使用單引號作為隔離者

十進制 : 8888'8888

小數 : 9678'0092.1234'5678

八進制 : 0'1234'567

二進制 : 0100'1100'0001'1111

除了二進制之外, 其它都可以直接當作數字直接使用

一個字面值數字中, 除了首尾以及十六進制的 "x" 左右不可以出現單引號之外, 其它位置都可以使用單引號進行分割

 

程式碼的可閱讀性一直都是程式設計師比較關注的方面, 為了提高程式碼的可閱讀性, 程式設計師們通常使用註解以及說明文檔的方式

這篇 Proposal 通過引入數字隔離者提高了字面值數字的可讀性, 儘管可能被大家忽略, 但是對於 C++ 程式碼的可讀性提高有一定的幫助