C++14 では、 の行に沿って、桁区切り記号の概念がリテラルに導入されました3'141'592'653'589
。これは読み取り可能なコードにとって優れた機能ですが、 -type リテラルの数値部分の前に引用符を使用できるかどうか疑問に思っていました。0x/0b
それは私には思われる:
unsigned int topThreeBits = 0b'1110'0000;
unsigned int hexNum = 0x'dead'beef;
先頭のセパレーターがないものよりも読みやすい:
unsigned int topThreeBits = 0b1110'0000;
unsigned int hexNum = 0xdead'beef;
数字から基数を明確に区別するためです。
私はまだ C++14 コンパイラを持っていないので、これが可能かどうかについて何らかの方法で確認する必要があります。
'123'456
特に、パーサーはそれがchar
変数なのか数値リテラルなのかを認識できないため、 のような接頭辞のない数値には意味がないことを私は知っています。
'
しかし、プレフィックス付きリテラルの場合、トークンが最初に到着した時点で何を意味するのかについて混乱があるとは思えません0x/0b
。数値リテラルになることは既に指示されています。