Skip to content

Commit

Permalink
Visual C++の実装状況をVisual C++ 2013 RCで確認した内容により更新
Browse files Browse the repository at this point in the history
  • Loading branch information
egtra committed Sep 14, 2013
1 parent f7621a2 commit b7c45ff
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions implementation-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,21 @@ MSVC(Microsoft Visual C++)のバージョン表記の、製品との対応付け

| 言語機能 | 説明 | GCC | Clang | ICC | MSVC |
|----------------------------------|------|-----|-------|-----|------|
| `alignas` | アラインメント指定 | 4.8 | 3.0 | | 7.1あるいはそれ以前からある`__declspec(align(`<i>`x`</i>`))`構文で代替可能。 |
| `alignof` | アラインメント取得 | 4.5 | 3.3 | | 7.1あるいはそれ以前よりある`__alignof`で代替可能。 |
| `alignas` | アラインメント指定 | 4.8 | 3.0 | | No<br/>7.1あるいはそれ以前からある`__declspec(align(`<i>`x`</i>`))`構文で代替可能。 |
| `alignof` | アラインメント取得 | 4.5 | 3.3 | | No<br/>7.1あるいはそれ以前よりある`__alignof`で代替可能。 |
| `auto` | 型推論 | 4.4 | 2.9 | 12.0 | 10.0 |
| C99互換のプリプロセッサ | 可変引数マクロ等 | 4.3 | 2.9 | 11.1 | 8.0 (partial) 可変引数のみ `_Pragma`の代わりに`__pragma`が存在する。 |
| `constexpr` | 定数式 | 4.6 | 3.1 | 13.0 (partial) | No |
| `decltype` | 式の型を取得 | 4.3 | 2.9 | 13.0 | 10.0 (partial)<br/> 11.0 |
| 関数の`default/delete`宣言 | 自動定義される特殊関数の制御 | 4.4 | 3.0 | 12.0 | No |
| 関数の`default/delete`宣言 | 自動定義される特殊関数の制御 | 4.4 | 3.0 | 12.0 | 12.0 |
| 移譲コンストラクタ | コンストラクタから他のコンストラクタに処理を移譲する | 4.7 | 3.0 | No | 12.0 |
| `explicit operator T()` | 明示的型変換の演算子 | 4.5 | 3.0 | No | 12.0 |
| 拡張`friend`宣言 | テンプレートパラメータや`typedef`名を`friend`宣言 | 4.7 | 2.9 | 11.1 (partial) <br/> 12.0 | No |
| 拡張`friend`宣言 | テンプレートパラメータや`typedef`名を`friend`宣言 | 4.7 | 2.9 | 11.1 (partial) <br/> 12.0 | 10.0 |
| `extern template` | テンプレートのインスタンス化抑止 | 3.3 | 2.9 | 11.1 | 6.0 |
| `enum`の先行宣言 | | 4.6 | 3.1 | 11.1 (partial) | 11.0 |
| 継承コンストラクタ | 基本クラスのコンストラクタを継承 | 4.8 | 3.3 | No | No |
| ラムダ式 | 関数オブジェクトをその場に書く | 4.5 | 3.1 | 12.0 | 10.0 (partial)<br/> 11.0 |
| ローカルクラスと無名クラスを、テンプレート引数として使用する | | 4.5 | 2.9 | 12.0 | 10.0 |
| ローカルクラスと無名クラスを、テンプレート実引数として使用する | | 4.5 | 2.9 | 12.0 | 10.0 |
| `long long`| `long`以上の大きさを持つ整数型 | 4.3 | 2.9 | 11.1 | 7.1 |
| `inline namespace` | ネストした名前空間に、透過的にアクセスする | 4.4 | 2.9 | | No |
| `char16_t``char32_t`| UTF-16とUTF-32の文字型 | 4.4 | 2.9 | 12.1 (Windows: partial) <br/> 12.1 (GNU/Linux, OS X) | No<br/> 10.0より同名のtypedefが存在する |
Expand All @@ -52,15 +52,15 @@ MSVC(Microsoft Visual C++)のバージョン表記の、製品との対応付け
| 右辺値参照と`std::move()` | 右辺値によるオーバーロード、およびそれによるリソースの所有権移動 | 4.3 (partial)<br/> 4.6 | 2.9 | 12.0 | 10.0 (partial) ムーブコンストラクタと代入演算子の暗黙定義に対応していない。 |
| `static_assert` | コンパイル時アサート | 4.3 | 2.9 | 11.1 | 10.0 |
| `enum class` | 強い型付けを持つ列挙型 | 4.4 | 2.9 | 11.1 (partial) | 11.0 |
| エイリアステンプレート | テンプレートによる型の別名付け | 4.7 | 3.0 | 12.1 | No |
| エイリアステンプレート | テンプレートによる型の別名付け | 4.7 | 3.0 | 12.1 | 12.0 |
| `thread_local` | スレッドローカルストレージ | 4.8 | 3.3 | 11.1 (partial) | 10.0<br/> `__declspec(thread)`属性での部分サポート |
| `union`の制限解除 | 共用体のメンバ変数として、クラスオブジェクトを持つ | 4.6 | 3.0 | | No |
| 可変引数テンプレート | | 4.3 (partial)<br/> 4.4 | 2.9 | 12.1 | 12.0 |
| 範囲for文 | | 4.6 | 3.0 |13.0 | 11.0 |
| 範囲for文 | | 4.6 | 3.0 | 13.0 | 11.0 |
| `override``final` | メンバ関数のオーバーライド指定、および派生クラスでのオーバーロードを禁止する指定 | 4.7 | 2.9 | No | 8.0 (partial): `override`のみ。`final`の代わりにsealedが存在する。ただし両者ともデストラクタには指定できない。 11.0 |
| 属性構文 | `[[attr]]`構文による、クラス、関数、変数の属性指定 | 4.7 | 3.3 | 12.1 | No |
| メンバ関数の左辺値/右辺値修飾 | オブジェクトが左辺値/右辺値の場合のみ呼び出し可能であることの指定 | 4.8.1 | 2.9 | No | No |
| 非静的データメンバの初期化 | メンバ変数を、宣言と同時に初期値指定する | 4.7 | 3.0 | | No |
| 非静的データメンバの初期化 | メンバ変数を、宣言と同時に初期値指定する | 4.7 | 3.0 | | 12.0 |
| ブロックスコープな`static`変数初期化のスレッドセーフ化 | | 4.0 | 2.9 | ? | No [[link](http://thread.gmane.org/gmane.comp.lib.boost.devel/238201/focus=238214)] |
| 初期化子リスト | 波括弧による初期化。`vector<int> v = {1, 2, 3};`など。 | 4.4 | 3.1 | ? | 12.0 |
| `noexcept` | 関数の例外指定、例外を投げる可能性のある式かbool値を返す演算子 | 4.6 | 3.0 | 13.0(partial)<br/>14.0 | No |
Expand All @@ -71,7 +71,7 @@ MSVC(Microsoft Visual C++)のバージョン表記の、製品との対応付け
- GCC: [C++0x/C++11 Support in GCC](http://gcc.gnu.org/projects/cxx0x.html)
- Clang: [C++98 and C++11 Support in Clang](http://clang.llvm.org/cxx_status.html)
- ICC : [C++11 Features Supported by Intel&#174; C++ Compiler](http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler)
- VC++: [C++11 Features in Visual C++ 11](http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx)
- VC++: [C++11 Features (Modern C++)](http://msdn.microsoft.com/en-us/library/vstudio/hh567368%28v=vs.120%29.aspx)


##C++14/C++1yの実装状況
Expand Down

0 comments on commit b7c45ff

Please sign in to comment.