読者です 読者をやめる 読者になる 読者になる

とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

VS 2013でC99対応がされる予定

VS 2013でC99対応

via: Visual Studio 2013 のリリース版で更に追加される予定の C++11 の言語機能 - C++でゲームプログラミング

C++11/14 STL Features, Fixes, And Breaking Changes In VS 2013 - Visual C++ Team Blog - Site Home - MSDN Blogs

id:osyo-mangaさんのエントリでは、C++11の対応について触れられていますが、ソースをのぞいてみたら、なんとC99の対応についても書かれていました。

Additionally, some C99 Core Language features will be implemented in 2013 RTM:

  • C99 _Bool
  • C99 compound literals
  • C99 designated initializers
  • C99 variable declarations

C++11そしてC++14の実装への期待が高まっていますが、C99にも部分対応予定とのことです。

_Bool型により、乱立する俺俺boolに終止符を打てるようになるかもしれません。また、値を0か1に制限できるようになります。 #include <stdbool.h>により_Boolではなく、boolと書けるようになり、falsetrueも使えるようになります。

compound literals(複合リテラル)により、かなりCの表現力が上がります。 ちなみに、文法がキャストに似ていますがキャストとは無関係です。誤解のないように。

designated initializers(指示付きの初期化子)により、構造体のメンバの順序を気にすることなく必要な物のみ初期化できるようになります。

variable declarationsによりどこでも変数宣言ができるようになります。VSもC++ならすでにできていたのですが、Cでもできるようになります。

#include<stdio.h>
int main(){
    puts("test");
    int a = 0;
    printf("%d", a);
}

ネタ

もう誰もが諦めて考えすらもしていなかったC99対応予定に、私は笑い転げてしまいました。意表を突かれました。

そして期待を高めてしまうと今度は、C11がすでに出ているのにまだC99が部分対応というしょぼさに目がいきます。

C++11/C++14対応もほかの処理系より遅れているのに、すごくがんばってる!と感じてしまいますし、MSVCはネタとしておいしいです。

C99完全対応はいつになるんでしょうか?C11対応はいつになるんでしょうか?C++11対応はいつになるんでしょうか?C++14対応はいつになるんでしょうか?constexprの実装を心待ちにしております。

あ、いや、C99対応自体はいいことです。うれしいことです。 variable declarationsは誰もが待っていたと思いますし。上記例でコンパイル通らなかった今までが異常すぎます。