このページはC++14に採用された言語機能の変更を解説しています。
のちのC++規格でさらに変更される場合があるため関連項目を参照してください。
概要
SD-6 は C++14 の機能について以下のテストマクロを定義することを推奨している:
マクロ名 | 値 | 機能 | ヘッダ |
---|---|---|---|
__cpp_aggregate_nsdmi |
201304 |
メンバ初期化子と集約 | predefined |
__cpp_binary_literals |
201304 |
二進数リテラル | predefined |
__cpp_constexpr |
201304 |
constexpr 関数内での条件分岐とループの文を許可/constexpr メンバ関数の暗黙的な const |
predefined |
__cpp_decltype_auto |
201304 |
通常関数の戻り値型推論 | predefined |
__cpp_generic_lambdas |
201304 |
ジェネリックラムダ | predefined |
__cpp_init_captures |
201304 |
ラムダ式の初期化キャプチャ | predefined |
__cpp_lib_chrono_udls |
201304 |
std::chrono::duration のユーザー定義リテラル (ns , us , ms , s , min , h ) |
<chrono> |
__cpp_lib_complex_udls |
201309 |
ユーザー定義虚数リテラル (i , if , il ) |
<complex> |
__cpp_lib_exchange_function |
201304 |
std::exchange |
<utility> |
__cpp_lib_generic_associative_lookup |
201304 |
連想配列 (std::map , std::multimap , std::set , std::multiset ) における異なる型の比較 (count , equal_range , find , lower_bound , upper_bound ) |
<map> , <set> |
__cpp_lib_integer_sequence |
201304 |
コンパイル時整数列 | <utility> |
__cpp_lib_integral_constant_callable |
201304 |
std::integral_constant に operator() を追加 |
<type_traits> |
__cpp_lib_is_final |
201402 |
std::is_final |
<type_traits> |
__cpp_lib_is_null_pointer |
201309 |
std::is_null_pointer |
<type_traits> |
__cpp_lib_make_reverse_iterator |
201402 |
std::make_reverse_iterator |
<iterator> |
__cpp_lib_make_unique |
201304 |
std::make_unique |
<memory> |
__cpp_lib_null_iterators |
201304 |
ヌル前方向イテレータ | <iterator> |
__cpp_lib_quoted_string_io |
201304 |
std::quoted |
<iomanip> |
__cpp_lib_result_of_sfinae |
201210 |
std::result_of と SFINAE |
<type_traits> |
__cpp_lib_robust_nonmodifying_seq_ops |
201304 |
シーケンスを変更しない操作をよりロバストに | <algorithm> |
__cpp_lib_shared_timed_mutex |
201402 |
shared_mutex を shared_timed_mutex にリネーム |
<shared_mutex> |
__cpp_lib_string_udls |
201304 |
ユーザー定義 std::string_literals::basic_string::sリテラル |
<string> |
__cpp_lib_transformation_trait_aliases |
201304 |
型トレイトにエイリアステンプレートを追加 | <type_traits> |
__cpp_lib_transparent_operators |
201210 |
<functional> の二項演算のデフォルトテンプレート引数を void に |
<functional> |
__cpp_lib_tuple_element_t |
201402 |
std::tuple_element_t |
<utility> |
__cpp_lib_tuples_by_type |
201304 |
型による std::tuple::get |
<utility> |
__cpp_return_type_deduction |
201304 |
通常関数の戻り値型推論 | predefined |
__cpp_sized_deallocation |
201309 |
サイズ付きデアロケーション | predefined |
__cpp_variable_templates |
201304 |
変数テンプレート | predefined |
__has_cpp_attribute(deprecated) |
201309 |
[[deprecated]] 属性 |
predefined |
__has_include(<shared_mutex>) |
1 |
共有ロック | predefined |