リテラル区切り文字

重箱の隅をつついてみた。

まず、リテラルとして二進数が使えるようになってる。

int i = 0b1111;

さらに、二進数で64ビットとか、浮動小数点数とか表現するのが大変だからか、リテラルの区切り文字が使える。

int i = 0b1111'0000'1010'0101;

シングルクォートじゃなくてアンダーバーにすれば良かったのにとは思うけど、区切り文字があるのは嬉しい。

ただ、数字以外の文字とくっつくと、コンパイルエラーになる。

int i = 0b'1111; // エラー

double d = 1.'23456789; // エラー

うん、まあそうだよね。