New Language Features

Topics

Group Description

cluster_c The C Programming Language cluster_c_types_operators_expressions Types, Operators, Expressions cluster_c_introduction Introduction cluster_c_program_flow Program Flow cluster_c_memory Memory cluster_c_structures Structures cluster_c_pointers_and_arrays Pointers and Arrays cluster_c_advanced_language_features Advanced Language Features cluster_c_functions_and_program_structure Functions and Program Structure cluster_c_program_sanity Program Sanity cluster_cxx03 C++ 03 cluster_cxx03_functions_and_methods Functions and Methods cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx11 C++ 11 cluster_cxx11_new_language_features New Language Features cluster_cxx11_new_language_features_move_pf Move Semantics, Rvalue References cluster_cxx11_new_language_features_brace_initialization Brace Initialization (Uniform Initialization) cluster_cxx11_new_language_features_lambda Lambda cluster_cxx11_smart_pointers Smart Pointers cluster_cxx11_introduction Introduction c_types_operators_expressions_conditional_expressions ?: - Conditional Expression c_types_operators_expressions_assignment_operators_and_expressions Assignment with Calculation c_types_operators_expressions_conditional_expressions->c_types_operators_expressions_assignment_operators_and_expressions c_types_operators_expressions_declarations Variable Definitions c_types_operators_expressions_constants Constants c_types_operators_expressions_declarations->c_types_operators_expressions_constants c_types_operators_expressions_relational_logical_operators Relational and Logical Operators c_types_operators_expressions_arithmetic_operators Arithmetic Operators c_types_operators_expressions_relational_logical_operators->c_types_operators_expressions_arithmetic_operators c_types_operators_expressions_datatypes_size Data Types, Sizes c_types_operators_expressions_variable_names Variable Names c_types_operators_expressions_datatypes_size->c_types_operators_expressions_variable_names c_types_operators_expressions_precedence_and_order_of_evaluation Precedence, Associativity c_types_operators_expressions_precedence_and_order_of_evaluation->c_types_operators_expressions_conditional_expressions c_types_operators_expressions_bit_operators Bit-Operators c_types_operators_expressions_assignment_operators_and_expressions->c_types_operators_expressions_bit_operators c_types_operators_expressions_type_conversions Type Conversions c_types_operators_expressions_type_conversions->c_types_operators_expressions_relational_logical_operators c_types_operators_expressions_arithmetic_operators->c_types_operators_expressions_declarations c_types_operators_expressions_exercise_string_reduce Exercise: Copy and Reduce String c_types_operators_expressions_increment_decrement_operators Increment, Decrement c_types_operators_expressions_exercise_string_reduce->c_types_operators_expressions_increment_decrement_operators c_types_operators_expressions_constants->c_types_operators_expressions_datatypes_size c_types_operators_expressions_introduction Type System c_introduction_external_variables_and_scope Lifetime of Variables c_types_operators_expressions_introduction->c_introduction_external_variables_and_scope c_types_operators_expressions_increment_decrement_operators->c_types_operators_expressions_type_conversions c_types_operators_expressions_variable_names->c_types_operators_expressions_introduction c_types_operators_expressions_bit_operators->c_types_operators_expressions_exercise_string_reduce c_introduction_exercise_string_read_line Exercise: Read Line Into String from stdin c_introduction_character_arrays Character Arrays c_introduction_exercise_string_read_line->c_introduction_character_arrays c_introduction_exercise_fahrenheit_for Exercise: Fahrenheit Table Using for c_introduction_for_loop for Loops c_introduction_exercise_fahrenheit_for->c_introduction_for_loop c_introduction_exercise_power_declaration Exercise: Forward Declaration c_introduction_character_arrays->c_introduction_exercise_power_declaration c_introduction_exercise_fahrenheit_cpp Exercise: Fahrenheit Table Using Macros c_introduction_cpp_symbolic_constants Symbolic Constants c_introduction_exercise_fahrenheit_cpp->c_introduction_cpp_symbolic_constants c_introduction_arrays Arrays c_introduction_exercise_wc Exercise: wc For The Poor c_introduction_arrays->c_introduction_exercise_wc c_introduction_cpp_symbolic_constants->c_introduction_exercise_fahrenheit_for c_introduction_introduction Introduction c_introduction_installation Installation c_introduction_introduction->c_introduction_installation c_introduction_variables_and_arithmetic_expressions Variables and Arithmetic c_introduction_hello_world Hello World c_introduction_variables_and_arithmetic_expressions->c_introduction_hello_world c_introduction_external_variables_and_scope->c_introduction_exercise_string_read_line c_introduction_exercise_histogram Exercise: Character Histogram c_introduction_exercise_histogram->c_introduction_arrays c_introduction_exercise_fahrenheit_float Exercise: A Better Fahrenheit Table c_introduction_for_loop->c_introduction_exercise_fahrenheit_float c_introduction_hello_world->c_introduction_introduction c_introduction_functions Functions c_introduction_exercise_power_declaration->c_introduction_functions c_introduction_character_io Character I/O c_introduction_character_io->c_introduction_exercise_fahrenheit_cpp c_introduction_functions->c_introduction_exercise_histogram c_introduction_exercise_wc->c_introduction_character_io c_introduction_exercise_fahrenheit_float->c_introduction_variables_and_arithmetic_expressions c_program_flow_switch switch c_program_flow_else_if else - if c_program_flow_switch->c_program_flow_else_if c_program_flow_if_else if - else c_program_flow_statements_and_blocks Statements and Blocks c_program_flow_if_else->c_program_flow_statements_and_blocks c_program_flow_goto_and_labels goto and Labels c_program_flow_break_and_continue break and continue c_program_flow_goto_and_labels->c_program_flow_break_and_continue c_program_flow_loops_do_while Loops: do - while c_program_flow_break_and_continue->c_program_flow_loops_do_while c_program_flow_statements_and_blocks->c_types_operators_expressions_precedence_and_order_of_evaluation c_program_flow_else_if->c_program_flow_if_else c_program_flow_loops_while_and_for Loops: while and for c_program_flow_loops_do_while->c_program_flow_loops_while_and_for c_program_flow_loops_while_and_for->c_program_flow_switch c_memory_malloc Dynamic Memory c_structures_typedef typedef: Type Alias c_memory_malloc->c_structures_typedef c_memory_exercise_linked_list Singly Linked List c_memory_exercise_linked_list->c_memory_malloc c_structures_structures_and_functions struct: Functions c_structures_typedef->c_structures_structures_and_functions c_structures_basics struct: Basics c_structures_structures_and_functions->c_structures_basics c_pointers_and_arrays_command_line_arguments Commandline Arguments c_structures_basics->c_pointers_and_arrays_command_line_arguments c_pointers_and_arrays_pointers_and_addresses Pointers and Addresses c_functions_and_program_structure_c_preprocessor_advanced C Preprocessor: More c_pointers_and_arrays_pointers_and_addresses->c_functions_and_program_structure_c_preprocessor_advanced c_pointers_and_arrays_pointers_and_arrays Pointers and Arrays c_pointers_and_arrays_command_line_arguments->c_pointers_and_arrays_pointers_and_arrays c_pointers_and_arrays_pointers_and_function_arguments Pointers as Function Parameters c_pointers_and_arrays_pointers_and_function_arguments->c_pointers_and_arrays_pointers_and_addresses c_pointers_and_arrays_exercise_swap Exercise: Function That Swaps Two Variables c_pointers_and_arrays_exercise_swap->c_pointers_and_arrays_pointers_and_function_arguments c_pointers_and_arrays_pointers_and_arrays->c_pointers_and_arrays_exercise_swap c_advanced_language_features_atomic Compiler Intrinsics c_advanced_language_features_volatile Volatile c_advanced_language_features_atomic->c_advanced_language_features_volatile c_advanced_language_features_alignment Alignment c_advanced_language_features_alignment->c_advanced_language_features_atomic c_advanced_language_features_volatile->c_memory_exercise_linked_list c_functions_and_program_structure_c_preprocessor C Preprocessor: Basics c_functions_and_program_structure_static_variables Static Variables c_functions_and_program_structure_c_preprocessor->c_functions_and_program_structure_static_variables c_functions_and_program_structure_external_variables Extern/Global Variables c_functions_and_program_structure_basics Basics c_functions_and_program_structure_external_variables->c_functions_and_program_structure_basics c_functions_and_program_structure_basics->c_program_flow_goto_and_labels c_functions_and_program_structure_c_preprocessor_advanced->c_functions_and_program_structure_c_preprocessor c_functions_and_program_structure_header_files Header Files c_functions_and_program_structure_header_files->c_functions_and_program_structure_external_variables c_functions_and_program_structure_static_variables->c_functions_and_program_structure_header_files c_program_sanity_discrete_values Discrete Values - enum c_program_sanity_integral_types Know Your Integers c_program_sanity_discrete_values->c_program_sanity_integral_types c_program_sanity_introduction Sanity and Readabilty c_program_sanity_integral_types->c_program_sanity_introduction c_program_sanity_introduction->c_advanced_language_features_alignment cxx03_introduction Introduction cxx03_introduction->c_introduction_installation cxx03_functions_and_methods_this this cxx03_functions_and_methods_const const cxx03_functions_and_methods_this->cxx03_functions_and_methods_const cxx03_functions_and_methods_overloading Overloading cxx03_data_encapsulation_classes_objects Classes and Objects cxx03_functions_and_methods_overloading->cxx03_data_encapsulation_classes_objects cxx03_functions_and_methods_methods Methods cxx03_functions_and_methods_const->cxx03_functions_and_methods_methods cxx03_functions_and_methods_methods->cxx03_functions_and_methods_overloading cxx03_functions_and_methods_references References cxx03_functions_and_methods_references->cxx03_functions_and_methods_this cxx03_data_encapsulation_ctor_dtor More Constructors, Destructors cxx03_data_encapsulation_ctor_default Default Constructor cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_default cxx03_data_encapsulation_ctor_custom Custom Constructor cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_custom cxx03_data_encapsulation_ctor_default->cxx03_data_encapsulation_ctor_custom cxx03_data_encapsulation_c Object Oriented Programming In Good Ol’ C cxx03_data_encapsulation_c->cxx03_introduction cxx03_data_encapsulation_object_copy Object Copy (And Resource Management): There Be Dragons cxx03_data_encapsulation_object_copy->cxx03_data_encapsulation_ctor_dtor cxx03_data_encapsulation_classes_objects->cxx03_introduction cxx03_data_encapsulation_classes_objects->cxx03_data_encapsulation_c cxx03_data_encapsulation_ctor_custom->cxx03_data_encapsulation_classes_objects cxx11_perfect_forwarding Perfect Forwarding cxx11_new_language_features_move_pf_overview Overview (Lvalues, Rvalues, And Such) cxx11_perfect_forwarding->cxx11_new_language_features_move_pf_overview cxx11_new_language_features_structured_binding Structured Binding cxx11_new_language_features_auto auto cxx11_new_language_features_structured_binding->cxx11_new_language_features_auto cxx11_new_language_features_miscellaneous Miscellaneous cxx11_new_language_features_miscellaneous->cxx11_new_language_features_move_pf_overview cxx11_new_language_features_override override cxx11_new_language_features_delegating_ctor Delegating Constructor cxx11_new_language_features_range_based_for Range Based for Loops: Introduction cxx11_new_language_features_delegating_ctor->cxx11_new_language_features_range_based_for cxx11_new_language_features_brace_initialization_intro Brace Initialization: Introduction cxx11_new_language_features_range_based_for->cxx11_new_language_features_brace_initialization_intro cxx11_new_language_features_delete = delete cxx11_new_language_features_livehack_smartptr_move SmartPtr With Move Semantics cxx11_new_language_features_livehack_smartptr_move->cxx11_new_language_features_move_pf_overview cxx11_smart_pointers_introduction_livehack (Trying To) Handwrite A Smart Pointer Class in C++ Before C++11 cxx11_new_language_features_livehack_smartptr_move->cxx11_smart_pointers_introduction_livehack cxx11_new_language_features_range_based_for_map Case Study: Range Based for On std::map cxx11_new_language_features_range_based_for_map->cxx11_new_language_features_range_based_for cxx11_new_language_features_final final cxx11_new_language_features_strongly_typed_enums Strongly Typed enum cxx11_new_language_features_auto->cxx11_new_language_features_strongly_typed_enums cxx11_new_language_features_default = default cxx11_new_language_features_strongly_typed_enums->c_program_sanity_discrete_values cxx11_introduction_history History, Background cxx11_new_language_features_strongly_typed_enums->cxx11_introduction_history cxx11_new_language_features_constexpr constexpr cxx11_new_language_features_move_pf_livehack_string_move Implementing Move Semantics (class String, Live Hacked) cxx11_new_language_features_move_pf_livehack_string_move->cxx11_new_language_features_move_pf_overview cxx11_new_language_features_move_pf_afterword Afterword, Further Reading cxx11_new_language_features_move_pf_afterword->cxx11_perfect_forwarding cxx11_new_language_features_move_pf_livehack_using_string_move Using Move Semantics In Own Code cxx11_new_language_features_move_pf_afterword->cxx11_new_language_features_move_pf_livehack_using_string_move cxx11_new_language_features_move_pf_overview->cxx03_functions_and_methods_references cxx11_new_language_features_move_pf_overview->cxx03_data_encapsulation_object_copy cxx11_smart_pointers_unique_ptr std::unique_ptr cxx11_new_language_features_move_pf_overview->cxx11_smart_pointers_unique_ptr cxx11_new_language_features_move_pf_livehack_using_string_move->cxx11_new_language_features_move_pf_livehack_string_move cxx11_new_language_features_move_pf_livehack_using_string_move->cxx11_new_language_features_move_pf_overview cxx11_new_language_features_brace_initialization_mess Brace Initialization: A Mess cxx11_new_language_features_brace_initialization_mess->cxx11_new_language_features_brace_initialization_intro cxx11_new_language_features_brace_initialization_implementor_view std::initializer_list: Brace Initialization, Implementor’s View cxx11_new_language_features_brace_initialization_mess->cxx11_new_language_features_brace_initialization_implementor_view cxx11_new_language_features_brace_initialization_intro->cxx11_new_language_features_auto cxx11_new_language_features_lambda_lambda_is_functor Live Hacking: Handwritten Functors (Too Much Boilerplate) cxx11_new_language_features_lambda_lambda Lambda cxx11_new_language_features_lambda_lambda_capture Lambda: More Capturing cxx11_new_language_features_lambda_lambda_capture->cxx11_new_language_features_lambda_lambda cxx11_new_language_features_lambda_lambda_is_functor_pitfall Live Hacking: Handwritten Functors, And Capturing By Reference (Pitfalls) cxx11_new_language_features_lambda_lambda_is_functor_pitfall->cxx11_new_language_features_lambda_lambda_is_functor cxx11_smart_pointers_introduction Introduction cxx11_smart_pointers_unique_ptr->cxx11_smart_pointers_introduction cxx11_smart_pointers_introduction_livehack->cxx11_smart_pointers_introduction cxx11_smart_pointers_introduction->cxx11_new_language_features_miscellaneous cxx11_introduction_history->c_introduction_installation