数値区切り
概要
C++14では、数値リテラル(整数及び浮動小数点)のセパレータが定義された。 このセパレータは、単純に数値を見やすくするのみであり、数値には影響を与えない。 例えば、10進数では3桁ごとに区切ったり、16進数では16bitごとに区切ったりすることで見やすさを向上させることができる。
セパレータには、シングルクォート(')を使用し、全ての数値リテラルで使用可能である。 また、セパレータは連続させることはできず、また8進数を除き、リテラルに対応した数値が一つ以上続いた後にのみ指定できる。
int main() {
1'000'000; //OK
1''000'000; //NG (')は連続できない
'1'000'000; //NG (')は数値リテラルの先頭で使用できない。
012'34'5; //OK
0xFF'EE'DD; //OK
0x'FF'EE'DD; //NG
0b1'01'0101; //OK
0b'101'0101; //NG
3.14'159; //OK
return 0;
}