https://moderncpp.microlearn.dev https://moderncpp.microlearn.dev/about https://moderncpp.microlearn.dev/cpp11_core https://moderncpp.microlearn.dev/cpp11_core/type_system_enhancements https://moderncpp.microlearn.dev/cpp11_core/type_system_enhancements/auto https://moderncpp.microlearn.dev/cpp11_core/type_system_enhancements/decltype https://moderncpp.microlearn.dev/cpp11_core/type_system_enhancements/type_aliases https://moderncpp.microlearn.dev/cpp11_core/type_system_enhancements/nullptr https://moderncpp.microlearn.dev/cpp11_core/type_system_enhancements/strongly_typed_enums https://moderncpp.microlearn.dev/cpp11_core/move_semantics_and_special_member_functions https://moderncpp.microlearn.dev/cpp11_core/move_semantics_and_special_member_functions/move_semantics https://moderncpp.microlearn.dev/cpp11_core/move_semantics_and_special_member_functions/rvalue_references https://moderncpp.microlearn.dev/cpp11_core/move_semantics_and_special_member_functions/forwarding_references https://moderncpp.microlearn.dev/cpp11_core/move_semantics_and_special_member_functions/special_member_functions_for_move https://moderncpp.microlearn.dev/cpp11_core/move_semantics_and_special_member_functions/std_move_std_forward https://moderncpp.microlearn.dev/cpp11_core/functions_and_constructors https://moderncpp.microlearn.dev/cpp11_core/functions_and_constructors/default_functions https://moderncpp.microlearn.dev/cpp11_core/functions_and_constructors/deleted_functions https://moderncpp.microlearn.dev/cpp11_core/functions_and_constructors/delegating_constructors https://moderncpp.microlearn.dev/cpp11_core/functions_and_constructors/converting_constructors https://moderncpp.microlearn.dev/cpp11_core/functions_and_constructors/explicit_conversion_functions https://moderncpp.microlearn.dev/cpp11_core/functions_and_constructors/ref_qualified_member_functions https://moderncpp.microlearn.dev/cpp11_core/modern_function_syntax_and_expressions https://moderncpp.microlearn.dev/cpp11_core/modern_function_syntax_and_expressions/lambda_expressions https://moderncpp.microlearn.dev/cpp11_core/modern_function_syntax_and_expressions/trailing_return_types https://moderncpp.microlearn.dev/cpp11_core/compile_time_features https://moderncpp.microlearn.dev/cpp11_core/compile_time_features/constexpr https://moderncpp.microlearn.dev/cpp11_core/compile_time_features/static_assert https://moderncpp.microlearn.dev/cpp11_core/compile_time_features/initializer_lists https://moderncpp.microlearn.dev/cpp11_core/exception_safety_and_performance https://moderncpp.microlearn.dev/cpp11_core/exception_safety_and_performance/noexcept_specifier https://moderncpp.microlearn.dev/cpp11_core/templating_and_metaprogramming https://moderncpp.microlearn.dev/cpp11_core/templating_and_metaprogramming/variadic_templates https://moderncpp.microlearn.dev/cpp11_core/improved_control_flow_and_looping https://moderncpp.microlearn.dev/cpp11_core/improved_control_flow_and_looping/range_based_for_loops https://moderncpp.microlearn.dev/cpp11_core/strings_literals_and_character_types https://moderncpp.microlearn.dev/cpp11_core/strings_literals_and_character_types/raw_string_literals https://moderncpp.microlearn.dev/cpp11_core/strings_literals_and_character_types/user_defined_literals https://moderncpp.microlearn.dev/cpp11_core/strings_literals_and_character_types/char16_t_char32_t https://moderncpp.microlearn.dev/cpp11_core/object_oriented_enhancements https://moderncpp.microlearn.dev/cpp11_core/object_oriented_enhancements/explicit_virtual_overrides https://moderncpp.microlearn.dev/cpp11_core/object_oriented_enhancements/final_specifier https://moderncpp.microlearn.dev/cpp11_core/miscellaneous_improvements https://moderncpp.microlearn.dev/cpp11_core/miscellaneous_improvements/attributes https://moderncpp.microlearn.dev/cpp11_core/miscellaneous_improvements/inline_namespaces https://moderncpp.microlearn.dev/cpp11_core/miscellaneous_improvements/non_static_data_member_initializers https://moderncpp.microlearn.dev/cpp11_core/miscellaneous_improvements/right_angle_brackets https://moderncpp.microlearn.dev/cpp11_stl https://moderncpp.microlearn.dev/cpp11_stl/multithreading_and_concurrency https://moderncpp.microlearn.dev/cpp11_stl/multithreading_and_concurrency/std_thread https://moderncpp.microlearn.dev/cpp11_stl/multithreading_and_concurrency/memory_model https://moderncpp.microlearn.dev/cpp11_stl/multithreading_and_concurrency/std_async https://moderncpp.microlearn.dev/cpp11_stl/utility_and_helper_functions https://moderncpp.microlearn.dev/cpp11_stl/utility_and_helper_functions/std_to_string https://moderncpp.microlearn.dev/cpp11_stl/utility_and_helper_functions/std_tie https://moderncpp.microlearn.dev/cpp11_stl/utility_and_helper_functions/std_ref https://moderncpp.microlearn.dev/cpp11_stl/type_system_enhancements https://moderncpp.microlearn.dev/cpp11_stl/type_system_enhancements/type_traits https://moderncpp.microlearn.dev/cpp11_stl/smart_pointers_and_memory_management https://moderncpp.microlearn.dev/cpp11_stl/smart_pointers_and_memory_management/smart_pointers https://moderncpp.microlearn.dev/cpp11_stl/smart_pointers_and_memory_management/std_make_shared https://moderncpp.microlearn.dev/cpp11_stl/time_utilities https://moderncpp.microlearn.dev/cpp11_stl/time_utilities/std_chrono https://moderncpp.microlearn.dev/cpp11_stl/data_structures_and_containers https://moderncpp.microlearn.dev/cpp11_stl/data_structures_and_containers/std_tuple https://moderncpp.microlearn.dev/cpp11_stl/data_structures_and_containers/std_array https://moderncpp.microlearn.dev/cpp11_stl/data_structures_and_containers/unordered_containers https://moderncpp.microlearn.dev/cpp11_stl/iterator_and_range_enhancements https://moderncpp.microlearn.dev/cpp11_stl/iterator_and_range_enhancements/std_begin_end https://moderncpp.microlearn.dev/cpp14_core https://moderncpp.microlearn.dev/cpp14_core/lambdas_and_type_deduction https://moderncpp.microlearn.dev/cpp14_core/lambdas_and_type_deduction/generic_lambda_expressions https://moderncpp.microlearn.dev/cpp14_core/lambdas_and_type_deduction/lambda_capture_initializers https://moderncpp.microlearn.dev/cpp14_core/lambdas_and_type_deduction/return_type_deduction https://moderncpp.microlearn.dev/cpp14_core/lambdas_and_type_deduction/decltype_auto https://moderncpp.microlearn.dev/cpp14_core/compile_time_and_template_enhancements https://moderncpp.microlearn.dev/cpp14_core/compile_time_and_template_enhancements/relaxing_constexpr_constraints https://moderncpp.microlearn.dev/cpp14_core/compile_time_and_template_enhancements/variable_templates https://moderncpp.microlearn.dev/cpp14_core/attributes_and_literals https://moderncpp.microlearn.dev/cpp14_core/attributes_and_literals/deprecated_attribute https://moderncpp.microlearn.dev/cpp14_core/attributes_and_literals/binary_literals https://moderncpp.microlearn.dev/cpp14_stl https://moderncpp.microlearn.dev/cpp14_stl/literals_and_compile_time_utilities https://moderncpp.microlearn.dev/cpp14_stl/literals_and_compile_time_utilities/user_defined_literals_stl https://moderncpp.microlearn.dev/cpp14_stl/literals_and_compile_time_utilities/compile_time_integer_sequences https://moderncpp.microlearn.dev/cpp14_stl/smart_pointers https://moderncpp.microlearn.dev/cpp14_stl/smart_pointers/std_make_unique https://moderncpp.microlearn.dev/cpp17_core https://moderncpp.microlearn.dev/cpp17_core/template_enhancements https://moderncpp.microlearn.dev/cpp17_core/template_enhancements/template_argument_deduction https://moderncpp.microlearn.dev/cpp17_core/template_enhancements/non_type_template_parameters_auto https://moderncpp.microlearn.dev/cpp17_core/template_enhancements/folding_expressions https://moderncpp.microlearn.dev/cpp17_core/lambdas_and_inline_features https://moderncpp.microlearn.dev/cpp17_core/lambdas_and_inline_features/constexpr_lambda https://moderncpp.microlearn.dev/cpp17_core/lambdas_and_inline_features/lambda_capture_this_by_value https://moderncpp.microlearn.dev/cpp17_core/lambdas_and_inline_features/inline_variables https://moderncpp.microlearn.dev/cpp17_core/namespaces_and_bindings https://moderncpp.microlearn.dev/cpp17_core/namespaces_and_bindings/nested_namespaces https://moderncpp.microlearn.dev/cpp17_core/namespaces_and_bindings/structured_bindings https://moderncpp.microlearn.dev/cpp17_core/flow_control_enhancements https://moderncpp.microlearn.dev/cpp17_core/flow_control_enhancements/selection_statements_initializer https://moderncpp.microlearn.dev/cpp17_core/flow_control_enhancements/constexpr_if https://moderncpp.microlearn.dev/cpp17_core/literals_and_initialization https://moderncpp.microlearn.dev/cpp17_core/literals_and_initialization/utf8_character_literals https://moderncpp.microlearn.dev/cpp17_core/literals_and_initialization/direct_list_initialization_enums https://moderncpp.microlearn.dev/cpp17_core/attributes_and_feature_detection https://moderncpp.microlearn.dev/cpp17_core/attributes_and_feature_detection/cpp17_attributes https://moderncpp.microlearn.dev/cpp17_core/attributes_and_feature_detection/has_include https://moderncpp.microlearn.dev/cpp17_stl https://moderncpp.microlearn.dev/cpp17_stl/type_wrappers_and_utilities https://moderncpp.microlearn.dev/cpp17_stl/type_wrappers_and_utilities/std_variant https://moderncpp.microlearn.dev/cpp17_stl/type_wrappers_and_utilities/std_optional https://moderncpp.microlearn.dev/cpp17_stl/type_wrappers_and_utilities/std_any https://moderncpp.microlearn.dev/cpp17_stl/type_wrappers_and_utilities/std_string_view https://moderncpp.microlearn.dev/cpp17_stl/function_utilities https://moderncpp.microlearn.dev/cpp17_stl/function_utilities/std_invoke https://moderncpp.microlearn.dev/cpp17_stl/function_utilities/std_apply https://moderncpp.microlearn.dev/cpp17_stl/filesystem_support https://moderncpp.microlearn.dev/cpp17_stl/filesystem_support/std_filesystem https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/std_byte https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/splicing_maps_sets https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/parallel_algorithms https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/std_sample https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/std_clamp https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/std_reduce https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/prefix_sum_algorithms https://moderncpp.microlearn.dev/cpp17_stl/containers_and_algorithms/gcd_lcm https://moderncpp.microlearn.dev/cpp17_stl/function_adapters_and_conversions https://moderncpp.microlearn.dev/cpp17_stl/function_adapters_and_conversions/std_not_fn https://moderncpp.microlearn.dev/cpp17_stl/function_adapters_and_conversions/string_conversion_numbers https://moderncpp.microlearn.dev/cpp17_stl/chrono_enhancements https://moderncpp.microlearn.dev/cpp17_stl/chrono_enhancements/rounding_functions_chrono https://moderncpp.microlearn.dev/cpp20_core https://moderncpp.microlearn.dev/cpp20_core/coroutines_and_concepts https://moderncpp.microlearn.dev/cpp20_core/coroutines_and_concepts/coroutines https://moderncpp.microlearn.dev/cpp20_core/coroutines_and_concepts/concepts https://moderncpp.microlearn.dev/cpp20_core/comparisons_and_initializations https://moderncpp.microlearn.dev/cpp20_core/comparisons_and_initializations/three_way_comparison https://moderncpp.microlearn.dev/cpp20_core/comparisons_and_initializations/designated_initializers https://moderncpp.microlearn.dev/cpp20_core/lambda_enhancements https://moderncpp.microlearn.dev/cpp20_core/lambda_enhancements/template_syntax_lambdas https://moderncpp.microlearn.dev/cpp20_core/lambda_enhancements/lambda_capture_parameter_pack https://moderncpp.microlearn.dev/cpp20_core/loop_enhancements https://moderncpp.microlearn.dev/cpp20_core/loop_enhancements/range_based_for_loop_initializer https://moderncpp.microlearn.dev/cpp20_core/attributes_and_deprecations https://moderncpp.microlearn.dev/cpp20_core/attributes_and_deprecations/likely_unlikely_attributes https://moderncpp.microlearn.dev/cpp20_core/attributes_and_deprecations/deprecate_implicit_this_capture https://moderncpp.microlearn.dev/cpp20_core/template_and_compile_time_enhancements https://moderncpp.microlearn.dev/cpp20_core/template_and_compile_time_enhancements/class_types_non_type_template_params https://moderncpp.microlearn.dev/cpp20_core/template_and_compile_time_enhancements/constexpr_virtual_functions https://moderncpp.microlearn.dev/cpp20_core/template_and_compile_time_enhancements/immediate_functions https://moderncpp.microlearn.dev/cpp20_core/new_keywords_and_operators https://moderncpp.microlearn.dev/cpp20_core/new_keywords_and_operators/explicit_bool https://moderncpp.microlearn.dev/cpp20_core/new_keywords_and_operators/using_enum https://moderncpp.microlearn.dev/cpp20_core/character_and_initialization_improvements https://moderncpp.microlearn.dev/cpp20_core/character_and_initialization_improvements/char8_t https://moderncpp.microlearn.dev/cpp20_core/character_and_initialization_improvements/constinit https://moderncpp.microlearn.dev/cpp20_core/variadic_macros_enhancement https://moderncpp.microlearn.dev/cpp20_core/variadic_macros_enhancement/va_opt https://moderncpp.microlearn.dev/cpp20_stl https://moderncpp.microlearn.dev/cpp20_stl/concepts_and_formatting https://moderncpp.microlearn.dev/cpp20_stl/concepts_and_formatting/concepts_library https://moderncpp.microlearn.dev/cpp20_stl/concepts_and_formatting/formatting_library https://moderncpp.microlearn.dev/cpp20_stl/stream_and_span_enhancements https://moderncpp.microlearn.dev/cpp20_stl/stream_and_span_enhancements/synchronized_buffered_outputstream https://moderncpp.microlearn.dev/cpp20_stl/stream_and_span_enhancements/std_span https://moderncpp.microlearn.dev/cpp20_stl/bitwise_and_math_enhancements https://moderncpp.microlearn.dev/cpp20_stl/bitwise_and_math_enhancements/bit_operations https://moderncpp.microlearn.dev/cpp20_stl/bitwise_and_math_enhancements/math_constants https://moderncpp.microlearn.dev/cpp20_stl/bitwise_and_math_enhancements/is_constant_evaluated https://moderncpp.microlearn.dev/cpp20_stl/smart_pointer_enhancements https://moderncpp.microlearn.dev/cpp20_stl/smart_pointer_enhancements/make_shared_arrays https://moderncpp.microlearn.dev/cpp20_stl/string_enhancements https://moderncpp.microlearn.dev/cpp20_stl/string_enhancements/starts_with_ends_with https://moderncpp.microlearn.dev/cpp20_stl/container_and_utility_enhancements https://moderncpp.microlearn.dev/cpp20_stl/container_and_utility_enhancements/associative_container_has_element https://moderncpp.microlearn.dev/cpp20_stl/container_and_utility_enhancements/std_bit_cast https://moderncpp.microlearn.dev/cpp20_stl/container_and_utility_enhancements/std_midpoint https://moderncpp.microlearn.dev/cpp20_stl/container_and_utility_enhancements/std_to_array https://moderncpp.microlearn.dev/cpp20_stl/function_utilities https://moderncpp.microlearn.dev/cpp20_stl/function_utilities/std_bind_front https://moderncpp.microlearn.dev/cpp20_stl/function_utilities/uniform_container_erasure https://moderncpp.microlearn.dev/cpp20_stl/comparison_enhancements https://moderncpp.microlearn.dev/cpp20_stl/comparison_enhancements/three_way_comparison_helpers https://moderncpp.microlearn.dev/cpp20_stl/comparison_enhancements/lexicographical_compare_three_way