yohhoyの日記

技術的メモをしていきたい日記

8進数リテラルプレフィクス in 標準C

プログラミング言語Cの次期標準C2yでは、8進数リテラルプレフィクス0o0Oが導入される。

// C2y
int n1 = 0o52;  // 42
int n2 = 0O52;  // 42
int n0 = 052;   // 42 (従来記法; 廃止予定)

0o0Oプレフィクス追加と同時に、数値0のみプレフィクスとする従来8進数リテラル表記は廃止予定(obsolescent feature)とされる。

プログラミング言語C++に対しても2005年頃(!)に同等の提案P0085R0がなされており、C2y採択に伴ってC++2c(C++26)に向けた検討が再開されている。*1

関連URL