最終更新日時(UTC):
が更新

履歴 編集

機能テストマクロ(C++11)

このページはC++11に採用された言語機能の変更を解説しています。

のちのC++規格でさらに変更される場合があるため関連項目を参照してください。

概要

SD-6 は C++11 の機能について以下のテストマクロを定義することを推奨している:

マクロ名 機能 ヘッダ
__cpp_alias_templates 200704 エイリアステンプレート predefined
__cpp_attributes 200809 属性 predefined
__cpp_constexpr 200704 constexpr predefined
__cpp_decltype 200707 decltype predefined
__cpp_delegating_constructors 200604 委譲コンストラクタ predefined
__cpp_inheriting_constructors 200802 継承コンストラクタ predefined
__cpp_initializer_lists 200806 初期化子リスト predefined
__cpp_lambdas 200907 ラムダ式 predefined
__cpp_nsdmi 200809 非静的メンバ変数初期化子 predefined
__cpp_range_based_for 200907 範囲for文 predefined
__cpp_raw_strings 200710 生文字列リテラル predefined
__cpp_ref_qualifiers 200710 *this のムーブセマンティクス predefined
__cpp_rvalue_references 200610 右辺値参照 predefined
__cpp_static_assert 200410 コンパイル時アサート predefined
__cpp_unicode_characters 200704 ユニコード文字 predefined
__cpp_unicode_literals 200710 ユニコードリテラル predefined
__cpp_user_defined_literals 200809 ユーザー定義リテラル predefined
__cpp_variadic_templates 200704 可変引数テンプレート predefined
__has_cpp_attribute(carries_dependency) 200809 属性 predefined
__has_cpp_attribute(noreturn) 200809 属性 predefined

参照