C++0x 全会一致で承認され C++11 へ

C++0xの最終国際投票はこの水曜日に終わり、さきほど投票結果が届いた… “全会一致で承認する”

我々が”C++0x”と呼んできたC++の次期改正案はついに国際標準になった! ジュネーヴのISOから発行されるのはもう数ヶ月先になるだろうが、それでも今年中には発行されるだろう。ついに大手を振って”C++11”と呼べるようになった。

http://zakkas783.tumblr.com/post/8838927425/c-0x

そんな訳でようやく次期 C++ 改正案である C++0x の規格が正式に承認されたようです.C++0x と言う名前からも分かるように,当初 200X 年のどこかで確定されるはずだった次期規格ですが,デッドラインである 2009 年を余裕で超え,一時は「0x は 16進数と言う意味だったんだよ!」みたいなネタで語られるようにもなった C++0x さん.このたびの承認にともなって、晴れて C++11 と言う名称に変更?になるようです.

実装としては,gcc がかなり頑張ってるらしいですが(VC++ さんは相変わらず散々な言われようのようです)まだまだ実装を完全に完了しているコンパイラは存在しないので(規格が確定していなかったので当たり前ですが・・・),どの辺りから仕事とかでも使われるようになるのかはまだ不透明な感じと言ったところでしょうか.

内容については私自身も大雑把にしか把握していないのですが,auto (型推論) や新しい初期化リスト辺りはほとんどの C++ プログラマにとってもコーディングのストレスを軽減してくれるものになってくれるでしょうし,rvalue (ムーブコンストラクタ) は不要なコピーを抑えるために(場合によっては)必須となってくるでしょうしと,ぼちぼちきちんと把握していかなければなぁと感じるところではあります.

C との互換性のために相変わらずヤバイ (C 的な) 書き方をするとすぐにメモリリーク等を起こしてしまったり,ものによっては「何でそんな挙動になるんだよ><」とか思ったり,エラーメッセージ見て「日本語でおk」と思ったりする事もある「難しい」 C++ さんですが,C++11 でだいぶ改善されるのではと思います.Perl 辺りも「モダンな書き方」の啓蒙でかなり改善された部分はあるようなので,そう言ったモダンな書き方が広まって「よく分からないけど C++ は難しい」みたいな認識が少しでも薄まると良いなと思います.