15 Preprocessing directives [cpp]

15.11 Predefined macro names [cpp.predefined]

Table 22: Feature-test macros [tab:cpp.predefined.ft]
Macro name
Value
__cpp_aggregate_bases
201603L
__cpp_aggregate_nsdmi
201304L
__cpp_aggregate_paren_init
201902L
__cpp_alias_templates
200704L
__cpp_aligned_new
201606L
__cpp_attributes
200809L
__cpp_auto_cast
202110L
__cpp_binary_literals
201304L
__cpp_capture_star_this
201603L
__cpp_char8_t
202207L
__cpp_concepts
202002L
__cpp_conditional_explicit
201806L
__cpp_constexpr
202211L
__cpp_constexpr_dynamic_alloc
201907L
__cpp_constexpr_in_decltype
201711L
__cpp_consteval
202211L
__cpp_constinit
201907L
__cpp_decltype
200707L
__cpp_decltype_auto
201304L
__cpp_deduction_guides
201907L
__cpp_delegating_constructors
200604L
__cpp_designated_initializers
201707L
__cpp_enumerator_attributes
201411L
__cpp_explicit_this_parameter
202110L
__cpp_fold_expressions
201603L
__cpp_generic_lambdas
201707L
__cpp_guaranteed_copy_elision
201606L
__cpp_hex_float
201603L
__cpp_if_consteval
202106L
__cpp_if_constexpr
201606L
__cpp_impl_coroutine
201902L
__cpp_impl_destroying_delete
201806L
__cpp_impl_three_way_comparison
201907L
__cpp_implicit_move
202207L
__cpp_inheriting_constructors
201511L
__cpp_init_captures
201803L
__cpp_initializer_lists
200806L
__cpp_inline_variables
201606L
__cpp_lambdas
200907L
__cpp_modules
201907L
__cpp_multidimensional_subscript
202211L
__cpp_named_character_escapes
202207L
__cpp_namespace_attributes
201411L
__cpp_noexcept_function_type
201510L
__cpp_nontype_template_args
201911L
__cpp_nontype_template_parameter_auto
201606L
__cpp_nsdmi
200809L
__cpp_range_based_for
202211L
__cpp_raw_strings
200710L
__cpp_ref_qualifiers
200710L
__cpp_return_type_deduction
201304L
__cpp_rvalue_references
200610L
__cpp_size_t_suffix
202011L
__cpp_sized_deallocation
201309L
__cpp_static_assert
201411L
__cpp_static_call_operator
202207L
__cpp_structured_bindings
201606L
__cpp_template_template_args
201611L
__cpp_threadsafe_static_init
200806L
__cpp_unicode_characters
200704L
__cpp_unicode_literals
200710L
__cpp_user_defined_literals
200809L
__cpp_using_enum
201907L
__cpp_variable_templates
201304L
__cpp_variadic_templates
200704L
__cpp_variadic_using
201611L