数値区切り文字は、整数リテラルと浮動小数点数リテラルの数値をシングルクオート文字で区切ることができる機能だ。区切り桁は何桁でもよい。
int main()
{
int x1 = 123'456'789 ;
int x2 = 1'2'3'4'5'6'7'8'9 ;
int x3 = 1'2345'6789 ;
int x4 = 1'23'456'789 ;
double x5 = 3.14159'26535'89793 ;
}
大きな数値を扱うとき、ソースファイルに100000000
と1000000000
と書かれていた場合、どちらが大きいのか人間の目にはわかりにくい。人間が読んでわかりにくいコードは間違いの元だ。数値区切りを使うと、100'000'000
と1'000'000'000
のように書くことができる。これはわかりやすい。
他には、1バイト単位で見やすいように区切ることもできる。
int main()
{
unsigned int x1 = 0xde'ad'be'ef ;
unsigned int x2 = 0b11011110'10101101'10111110'11101111 ;
}
数値区切りはソースファイルを人間が読みやすくするための機能で、数値に影響を与えない。