ISO規格によるC++(ISO C++)であるISO/IEC 14882の第4版として予想されるもの。俗に「C++14」と呼ばれる。
前、C++11に対するマイナーバージョンアップの仕様である。
C++11で追加されたラムダ式の改良や、整数直定数を'で区切ることで見やすく記述することができる機能などが追加されている。
- 整数直定数を'で区切る機能
- 2進直定数への対応。0b または 0B を冠する (GCCやclangで相当昔から対応していた機能)
次期C++に要求されている機能は次のとおりである。Meeting C++のペーパーよりパートごとに一覧する。
このうちの幾つかがC++14に採用される見込みである。
A look at C++14: Papers Part 1
- N3525 ‐ ポリモーフィックアロケーター
- N3526 ‐ 配列やクラスアグリゲート型に対する一様な初期化
- N3527 ‐ std::optional (boost::optionalを標準機能として取り込む)
- N3530 ‐ 並列コンピューティング基盤であるOpenMPの機能を標準機能として取り込む
- N3531 ‐ UDL(User Defined Literals)を標準機能として取り込む
- N3532 ‐ C++ ダイナミック配列
- N3533 ‐ C++ コンカレントキュー (スレッドセーフな並列待ち行列)
- N3534 ‐ C++ パイプライン (シェルのパイプライン相当の機能を標準機能として取り込む)
- N3535 ‐ C++ ストリームに対するmutex
- N3536 ‐ C++ サイズの割り当て解除 (グローバルに対するdeleteオペレーター)
- N3537 ‐ メモリー割り当ての明確化 (詳細設定可能なメモリアロケーションの導入)
- N3538 ‐ const参照または値渡しに関する問題の解決
- N3542 ‐ 任意精度整数型を標準機能として取り込む
- N3543 ‐ std::priority_queue、std::stack、std::queueをコンテナークラスに置き換える
- N3545 ‐ integral_constantの改善
- N3546 ‐ TransformationTraitsを扱いやすくするエイリアスを付ける
- N3547 ‐ <random> に関する3つの提案
- N3548 ‐ 特殊な数学関数の導入
A look at C++14: Papers Part 2
- N3551 ‐ <random> への新たな関数追加
- N3552 ‐ オブジェクトのエイリアスを導入する
- N3553 ‐ スワップオペレーター (:=:) の提案
- N3554 ‐ C++用の並列アルゴリズムライブラリ
- N3555 ‐ C++用のURIライブラリ
- N3556 ‐ X-並列計算でのスレッドローカルストレージ
- N3557 ‐ Considering a Fork-Join Parallelism Library
- N3558 ‐ Fork/Join 並列処理ライブラリの考慮
- N3559 ‐ ジェネリック(ポリモーフィック)ラムダ式の提案
- N3560 ‐ ラムダ式のアソート拡張の提案
- N3561 ‐ ベクトルループのセマンティクス
- N3562 ‐ エグゼキューターとスケジューラー (リビジョン 1)
- N3563 ‐ C++用のMapReduce (MapReduceは、Googleが提唱したプログラミングモデル)
- N3564 ‐ リジューム可能な関数
- N3565 ‐ IPアドレス設計の制約
- N3568 ‐ C++用の共有ロック
- N3570 ‐ 引用符で囲まれた文字列の扱いについての提案
- N3571 ‐ SIMD演算をC++標準ライブラリに取り込む
- N3572 ‐ 標準ライブラリでのUnicodeサポート
- N3573 ‐ 非順序連想コンテナーのヘテロジニアス拡張
A look at C++14 and beyond: Papers Part 3
- N3574 ‐ 関数ポインターのための std::bound_function の提案
- N3575 ‐ アロケーター追加の提案
- N3578 ‐ 5つのルールの提案
- N3579 ‐ 型特性 std::signature の提案
- N3580 ‐ 述語でテンプレートを簡易に制約する概念
- N3581 ‐ デリミター付きのイテレーター
- N3582 ‐ 通常の関数のreturn型控除
- N3583 ‐ 実行時のconstexpr模索
- N3584 ‐ タイプ別タプルへのアクセス
- N3585 ‐ コンテナーへのイテレータ関連の改善 (リビジョン 2)
- N3586 ‐ マップとセットのスプライシング
- N3587 ‐ forループとexit戦略
- N3588 ‐ make_unique
- N3589 ‐ C++用のトランザクション言語構造
- N3591 ‐ C++用のトランザクション言語構造での明示的な取り消しに関する議論
- N3592 ‐ トランザクションのための代替のキャンセルとデータエスケープメカニズム
- N3593 ‐ 文字列分割のアルゴリズム std::split()
- N3594 ‐ 要素の範囲を結合するアルゴリズム std::join()
- N3595 ‐ 簡素化したADL(実引数依存の名前探索)ルール
- N3596 ‐ クラステンプレート特殊化でのコード再利用
- N3597 ‐ constexpr の制約緩和
A look at C++14 and beyond: Papers Part 4
- N3598 ‐ constexpr のメンバー関数と暗黙のconst
- N3599 ‐ 文字列のリテラル演算子テンプレート
- N3600 ‐ 並列プログラミング用のラッチとバリアーのクラスを標準機能として取り込む
- N3601 ‐ 暗黙のテンプレートパラメーター
- N3602 ‐ コンストラクターでのテンプレートパラメーター控除
- N3603 ‐ 3つのIPアドレスクラスの提案
- N3604 ‐ ナローコントラクトのための一元的な防衛的プログラミングのサポート
- N3605 ‐ メンバーのイニシャライザーとアグリゲート
- N3606 ‐ 追加の検索アルゴリズムを用いるように std::search を拡張
- N3607 ‐ std::equal の新バージョン、std::mis_match と std::is_permutation の追加
- N3608 ‐ exchange() ユーティリティ関数 (リビジョン 2)
- N3609 ‐ 文字列の非所有参照 string_view (リビジョン 3)
- N3610 ‐ capture-by-moveに対応するための、ジェネリックラムダのキャプチャーイニシャライザー
- N3611 ‐ C++用の有理数ライブラリ
- N3612 ‐ C++11用データベースインターフェイスで必要なもの
- N3613 ‐ "static if" に対する考察
- N3614 ‐ unwinding_exception
- N3615 ‐ constexprの変数テンプレート
- N3617 ‐ 関数オブジェクトとオーバーロードされた関数の、関数テンプレートによる相互運用
- N3618 ‐ シグナルハンドラーの方法 (CWG 1441)
- N3619 ‐ 標準ライブラリに std::is_swappable と std::is_nothrow_swappable を追加する提案
- N3620 ‐ ネットワークバイトオーダー変換
用語の所属

プログラミング言語

C++

ISO/IEC 14882
関連する用語

標準C++ライブラリ