C++14
提供: cppreference.com
< cpp
This section is incomplete |
目次 |
[編集]新しい言語機能
- 変数テンプレート
- 多相ラムダ
- ラムダのキャプチャ式
- new/delete の省略
- constexpr 関数の制約の緩和
- 2進数リテラル
- 桁区切り文字
- 関数に対する戻り値型の推定
- 波括弧または等号の初期化子を用いたクラスの対する集成体初期化
[編集]新しいライブラリ機能
- std::make_unique
- std::shared_timed_mutex および std::shared_lock
- std::integer_sequence
- std::exchange
- std::quoted
- 既存のライブラリ機能に対する多数の小さな改善、例えば:
- 一部のアルゴリズムに対する範囲を2個取るオーバーロード
- 型特性の型エイリアスバージョン
- ユーザ定義文字列
- duration
- 複素数リテラル
- etc.
This section is incomplete |
[編集] 欠陥報告
[編集]コンパイラのサポート状況
主記事: C++ コンパイラのサポート状況
[編集] C++14 のコア言語の機能
C++14 の機能 | 文書 | GCC | Clang | MSVC | Apple Clang | EDG eccp | Intel C++ | IBM XLC++ | Sun/Oracle C++ | Embarcadero C++ Builder | Cray | Portland Group (PGI) | Nvidia nvcc | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
文脈的な変換に対する文言の修正 | N3323 | 4.9 | 3.4 | 18.0* | Yes | 4.9 | 16.0 | 13.1.2* | 5.15 | 10.3 | 8.6 | 16.1 | 9.0 | |
2進リテラル | N3472 | 4.3 (GNU) 4.9 | 2.9 | 19.0* | Yes | 4.10 | 11.0 | 13.1.2* | 5.14 | 10.3 | 8.6 | 2015 | 9.0 | |
decltype(auto)、通常の関数に対する戻り値の推定 | N3638 | 4.8 (partial)* 4.9 | 3.3 (partial)* 3.4 | 19.0* | Yes | 4.9 | 15.0 | 13.1.2* | 5.15 | 10.3 | 8.6 | 16.1 | 9.0 | |
ラムダキャプチャの初期化/一般化 (初期化キャプチャ) | N3648 | 4.5 (partial) 4.9 | 3.4 | 19.0* | Yes | 4.10 | 15.0 | 5.15 | 10.3 | 8.6 | 16.1 | 9.0 | ||
総称ラムダ式 | N3649 | 4.9 | 3.4 | 19.0* | Yes | 4.10 | 16.0 | 13.1.2* | 5.15 | 10.3 | 8.6 | 16.1 | 9.0 | |
変数テンプレート | N3651 | 5 | 3.4 | 19.0* | Yes | 4.11 | 17.0 | 13.1.2* | 5.15 | 10.3 | 8.6 | 17.4 | 9.0 | |
constexpr の拡張 | N3652 | 5 | 3.4 | 19.10* | Yes | 4.11 | 17.0 | 13.1.2* | 5.15 | 10.3 | 8.6 | 17.4 | 9.0 | |
メンバ初期化子を持つ集成体 (NSDMI) | N3653 | 5 | 3.3 | 19.10* | Yes | 4.9 | 16.0 | 5.14 | 10.3 | 8.6 | 16.1 | 9.0 | ||
メモリ確保の省略/延長 | N3664 | N/A | 3.4 | N/A | Yes | N/A | N/A | 10.3 | 8.6 | 17.4 | ||||
[[deprecated]] 属性 | N3760 | 4.9 | 3.4 | 19.0* | Yes | 4.9 | 15.0* 16.0 | 13.1.2* | 5.14 | 10.3 | 8.6 | 16.1 | 9.0 | |
サイズ付き解放 | N3778 | 5 | 3.4 | 19.0* | Yes | 4.10.1 | 17.0 | 5.14 | 10.3 | 8.6 | 16.1 | |||
桁区切り文字としてのシングルクォート | N3781 | 4.9 | 3.4 | 19.0* | Yes | 4.10 | 16.0 | 13.1.2* | 5.14 | 10.3 | 8.6 | 2015 | 9.0 | |
C++14 の機能 | 文書 | GCC | Clang | MSVC | Apple Clang | EDG eccp | Intel C++ | IBM XLC++ | Sun/Oracle C++ | Embarcadero C++ Builder | Cray | Portland Group (PGI) | Nvidia nvcc |
[編集] C++14 のライブラリの機能
C++14 の機能 | 文書 | GCC libstdc++ | Clang libc++ | MSVC の 標準ライブラリ | Apple Clang | Sun/Oracle C++ の 標準ライブラリ | Embarcadero C++ Builder の 標準ライブラリ | Cray C++ の 標準ライブラリ | |
---|---|---|---|---|---|---|---|---|---|
<complex> に対する constexpr | N3302 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
透明な演算子関数 | N3421 | 4.9 | 3.4 | 18.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::result_of と SFINAE | N3462 | 5 | Yes | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
<chrono> に対する constexpr | N3469 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
<array> に対する constexpr | N3470 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
<initializer_list>、 <utility> および <tuple> に対する constexpr | N3471 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::integral_constant の改善 | N3545 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
<chrono> および <string> に対するユーザ定義リテラル | N3642 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
ヌル前方イテレータ | N3644 | 5 (partial) 10 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::quoted | N3654 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::make_unique | N3656 | 4.9 | 3.4 | 18.0* | Yes | 5.15 | 10.3 | 8.6 | |
型混合連想検索 | N3657 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::integer_sequence | N3658 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::shared_timed_mutex | N3659 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::exchange | N3668 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
const のない constexpr メンバ関数の修正 | N3669 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
std::get<T>() | N3670 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
2つの範囲を取る std::equal、 std::is_permutation、 std::mismatch | N3671 | 5 | 3.4 | 19.0* | Yes | 5.15 | 10.3 | 8.6 | |
C++14 の機能 | 文書 | GCC libstdc++ | Clang libc++ | MSVC の 標準ライブラリ | Apple Clang | Sun/Oracle C++ の 標準ライブラリ | Embarcadero C++ Builder の 標準ライブラリ | Cray C++ の 標準ライブラリ |
* - 注釈を見るにはバージョン番号にマウスポインタを当ててください