C++ 11

Topics

Group Description

cluster_cxx03 C++ 03 cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx03_functions_and_methods Functions and Methods cluster_c The C Programming Language cluster_c_pointers_and_arrays Pointers and Arrays cluster_c_advanced_language_features Advanced Language Features cluster_c_introduction Introduction cluster_c_types_operators_expressions Types, Operators, Expressions cluster_c_program_flow Program Flow cluster_c_functions_and_program_structure Functions and Program Structure cluster_c_structures Structures cluster_c_program_sanity Program Sanity cluster_c_memory Memory cluster_cxx11 C++ 11 cluster_cxx11_new_language_features New Language Features cluster_cxx11_new_language_features_move_pf Move Semantics, Rvalue References, Perfect Forwarding cluster_cxx11_new_language_features_lambda Lambda cluster_cxx11_new_language_features_brace_initialization Brace Initialization (Uniform Initialization) cluster_cxx11_multithreading Multithreading cluster_cxx11_introduction Introduction cluster_cxx11_smart_pointers Smart Pointers cluster_cxx11_exercises Introduction cluster_cxx11_functions_functions Functions, Functions cluster_linux Linux cluster_linux_basics Linux Basics cluster_linux_basics_shell The Shell (Bash - “Bourne Again Shell”) cluster_linux_basics_intro Introduction: Concepts and Terminology cluster_linux_basics_permissions File System Permissions cluster_linux_sysprog Linux Systems Programming cluster_linux_sysprog_posix_threads POSIX Threads cluster_linux_sysprog_scheduling Scheduling cluster_linux_sysprog_basics Linux Systems Programming: Basics cluster_linux_sysprog_fileio File I/O cluster_linux_sysprog_blocking_io Blocking I/O: What Is That? cluster_linux_toolchain Toolchain cxx03_introduction Introduction c_introduction_installation Installation cxx03_introduction->c_introduction_installation cxx03_data_encapsulation_object_copy Object Copy (And Resource Management): There Be Dragons cxx03_data_encapsulation_ctor_dtor More Constructors, Destructors cxx03_data_encapsulation_object_copy->cxx03_data_encapsulation_ctor_dtor cxx03_data_encapsulation_ctor_custom Custom Constructor cxx03_data_encapsulation_classes_objects Classes and Objects cxx03_data_encapsulation_ctor_custom->cxx03_data_encapsulation_classes_objects cxx03_data_encapsulation_c Object Oriented Programming In Good Ol’ C cxx03_data_encapsulation_c->cxx03_introduction cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_custom cxx03_data_encapsulation_ctor_default Default Constructor cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_default cxx03_data_encapsulation_classes_objects->cxx03_introduction cxx03_data_encapsulation_classes_objects->cxx03_data_encapsulation_c cxx03_data_encapsulation_ctor_default->cxx03_data_encapsulation_ctor_custom cxx03_functions_and_methods_overloading Overloading cxx03_functions_and_methods_overloading->cxx03_data_encapsulation_classes_objects 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_references References cxx03_functions_and_methods_references->cxx03_functions_and_methods_this cxx03_functions_and_methods_methods Methods cxx03_functions_and_methods_methods->cxx03_functions_and_methods_overloading cxx03_functions_and_methods_const->cxx03_functions_and_methods_methods c_pointers_and_arrays_exercise_swap Exercise: Function That Swaps Two Variables c_pointers_and_arrays_pointers_and_function_arguments Pointers as Function Parameters c_pointers_and_arrays_exercise_swap->c_pointers_and_arrays_pointers_and_function_arguments c_pointers_and_arrays_pointers_and_addresses Pointers and Addresses c_pointers_and_arrays_pointers_and_function_arguments->c_pointers_and_arrays_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_pointers_and_arrays->c_pointers_and_arrays_exercise_swap c_pointers_and_arrays_command_line_arguments Commandline Arguments c_pointers_and_arrays_command_line_arguments->c_pointers_and_arrays_pointers_and_arrays 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_memory_exercise_linked_list Singly Linked List c_advanced_language_features_volatile->c_memory_exercise_linked_list c_introduction_functions Functions c_introduction_exercise_histogram Exercise: Character Histogram c_introduction_functions->c_introduction_exercise_histogram c_introduction_cpp_symbolic_constants Symbolic Constants c_introduction_exercise_fahrenheit_for Exercise: Fahrenheit Table Using for c_introduction_cpp_symbolic_constants->c_introduction_exercise_fahrenheit_for c_introduction_arrays Arrays c_introduction_exercise_histogram->c_introduction_arrays c_introduction_for_loop for Loops c_introduction_exercise_fahrenheit_float Exercise: A Better Fahrenheit Table c_introduction_for_loop->c_introduction_exercise_fahrenheit_float c_introduction_exercise_fahrenheit_for->c_introduction_for_loop c_introduction_exercise_wc Exercise: wc For The Poor c_introduction_arrays->c_introduction_exercise_wc c_introduction_exercise_power_declaration Exercise: Forward Declaration c_introduction_exercise_power_declaration->c_introduction_functions c_introduction_introduction Introduction c_introduction_introduction->c_introduction_installation 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_character_io Character I/O c_introduction_exercise_fahrenheit_cpp Exercise: Fahrenheit Table Using Macros c_introduction_character_io->c_introduction_exercise_fahrenheit_cpp 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 Lifetime of Variables c_introduction_external_variables_and_scope->c_introduction_exercise_string_read_line c_introduction_character_arrays->c_introduction_exercise_power_declaration c_introduction_hello_world->c_introduction_introduction c_introduction_exercise_wc->c_introduction_character_io c_introduction_exercise_fahrenheit_cpp->c_introduction_cpp_symbolic_constants c_introduction_exercise_fahrenheit_float->c_introduction_variables_and_arithmetic_expressions 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_type_conversions Type Conversions c_types_operators_expressions_type_conversions->c_types_operators_expressions_relational_logical_operators 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_declarations Variable Definitions c_types_operators_expressions_constants Constants c_types_operators_expressions_declarations->c_types_operators_expressions_constants c_types_operators_expressions_arithmetic_operators->c_types_operators_expressions_declarations c_types_operators_expressions_assignment_operators_and_expressions Assignment with Calculation 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_datatypes_size Data Types, Sizes c_types_operators_expressions_constants->c_types_operators_expressions_datatypes_size c_types_operators_expressions_variable_names Variable Names c_types_operators_expressions_introduction Type System c_types_operators_expressions_variable_names->c_types_operators_expressions_introduction c_types_operators_expressions_datatypes_size->c_types_operators_expressions_variable_names c_types_operators_expressions_introduction->c_introduction_external_variables_and_scope c_types_operators_expressions_bit_operators->c_types_operators_expressions_exercise_string_reduce c_types_operators_expressions_precedence_and_order_of_evaluation Precedence, Associativity c_types_operators_expressions_conditional_expressions ?: - Conditional Expression c_types_operators_expressions_precedence_and_order_of_evaluation->c_types_operators_expressions_conditional_expressions c_types_operators_expressions_increment_decrement_operators->c_types_operators_expressions_type_conversions c_types_operators_expressions_conditional_expressions->c_types_operators_expressions_assignment_operators_and_expressions c_program_flow_else_if else - if c_program_flow_if_else if - else c_program_flow_else_if->c_program_flow_if_else c_program_flow_loops_do_while Loops: do - while 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_break_and_continue break and continue c_program_flow_break_and_continue->c_program_flow_loops_do_while c_program_flow_switch switch c_program_flow_switch->c_program_flow_else_if c_program_flow_statements_and_blocks Statements and Blocks c_program_flow_if_else->c_program_flow_statements_and_blocks c_program_flow_statements_and_blocks->c_types_operators_expressions_precedence_and_order_of_evaluation c_program_flow_goto_and_labels goto and Labels c_program_flow_goto_and_labels->c_program_flow_break_and_continue c_program_flow_loops_while_and_for->c_program_flow_switch 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_static_variables Static Variables c_functions_and_program_structure_header_files Header Files c_functions_and_program_structure_static_variables->c_functions_and_program_structure_header_files c_functions_and_program_structure_header_files->c_functions_and_program_structure_external_variables c_functions_and_program_structure_c_preprocessor C Preprocessor: Basics c_functions_and_program_structure_c_preprocessor->c_functions_and_program_structure_static_variables c_functions_and_program_structure_c_preprocessor_advanced->c_functions_and_program_structure_c_preprocessor c_structures_basics struct: Basics c_structures_basics->c_pointers_and_arrays_command_line_arguments c_structures_typedef typedef: Type Alias c_structures_structures_and_functions struct: Functions c_structures_typedef->c_structures_structures_and_functions c_structures_structures_and_functions->c_structures_basics 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_introduction->c_advanced_language_features_alignment c_program_sanity_integral_types->c_program_sanity_introduction c_memory_malloc Dynamic Memory c_memory_malloc->c_structures_typedef c_memory_exercise_linked_list->c_memory_malloc cxx11_new_language_features_strongly_typed_enums Strongly Typed enum 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_default = default 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_miscellaneous Miscellaneous cxx11_new_language_features_move_pf_overview Overview (Lvalues, Rvalues, And Such) cxx11_new_language_features_miscellaneous->cxx11_new_language_features_move_pf_overview 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_override override 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_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_auto->cxx11_new_language_features_strongly_typed_enums 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_livehack_using_string_move Using Move Semantics In Own Code 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_move_pf_afterword Afterword, Further Reading cxx11_new_language_features_move_pf_afterword->cxx11_new_language_features_move_pf_livehack_using_string_move cxx11_new_language_features_move_pf_perfect_forwarding Perfect Forwarding cxx11_new_language_features_move_pf_afterword->cxx11_new_language_features_move_pf_perfect_forwarding cxx11_new_language_features_move_pf_overview->cxx03_data_encapsulation_object_copy cxx11_new_language_features_move_pf_overview->cxx03_functions_and_methods_references 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_perfect_forwarding->cxx11_new_language_features_move_pf_overview cxx11_new_language_features_lambda_lambda_capture Lambda: More Capturing cxx11_new_language_features_lambda_lambda Lambda 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 Live Hacking: Handwritten Functors (Too Much Boilerplate) cxx11_new_language_features_lambda_lambda_is_functor_pitfall->cxx11_new_language_features_lambda_lambda_is_functor cxx11_new_language_features_brace_initialization_intro->cxx11_new_language_features_auto cxx11_new_language_features_brace_initialization_implementor_view std::initializer_list: Brace Initialization, Implementor’s View 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_mess->cxx11_new_language_features_brace_initialization_implementor_view cxx11_multithreading_condition_variable std::condition_variable (Live Hacking Multithreaded Queue) cxx11_multithreading_mutex std::mutex And Friends cxx11_multithreading_condition_variable->cxx11_multithreading_mutex cxx11_multithreading_promise_future std::promise and std::future (And Some std::chrono) (Some Live Hacking) cxx11_multithreading_condition_variable->cxx11_multithreading_promise_future linux_sysprog_posix_threads_condition_variable Communication: Condition Variable cxx11_multithreading_condition_variable->linux_sysprog_posix_threads_condition_variable cxx11_multithreading_race_conditions Race Conditions cxx11_multithreading_thread Threads in C++ cxx11_multithreading_race_conditions->cxx11_multithreading_thread linux_sysprog_posix_threads_exercise_pthcreate_racecondition Thread Creation, Race Condition cxx11_multithreading_race_conditions->linux_sysprog_posix_threads_exercise_pthcreate_racecondition cxx11_multithreading_mutex->cxx11_multithreading_race_conditions linux_sysprog_posix_threads_mutex Synchronization cxx11_multithreading_mutex->linux_sysprog_posix_threads_mutex cxx11_multithreading_chrono std::chrono cxx11_multithreading_introduction Threads Inroduction cxx11_multithreading_thread->cxx11_multithreading_introduction linux_sysprog_posix_threads_lifecycle Thread Life Cycle cxx11_multithreading_thread->linux_sysprog_posix_threads_lifecycle cxx11_functions_functions_function std::function cxx11_multithreading_introduction->cxx11_functions_functions_function cxx11_multithreading_atomics std::atomic cxx11_multithreading_atomics->cxx11_multithreading_race_conditions cxx11_multithreading_promise_future->cxx11_multithreading_thread cxx11_multithreading_scoped_locking Scoped Locking cxx11_multithreading_scoped_locking->cxx11_multithreading_mutex cxx11_introduction_overview_livehacking A Live-Hacked Tour Around The New C++ cxx11_introduction_overview_livehacking->cxx11_introduction_history cxx11_introduction_history->c_introduction_installation cxx11_smart_pointers_shared_ptr std::shared_ptr cxx11_smart_pointers_introduction Introduction cxx11_smart_pointers_shared_ptr->cxx11_smart_pointers_introduction cxx11_smart_pointers_shared_ptr->cxx11_smart_pointers_unique_ptr cxx11_smart_pointers_closing_words Smart Pointers: Closing Words cxx11_smart_pointers_closing_words->cxx11_smart_pointers_shared_ptr cxx11_smart_pointers_closing_words->cxx11_smart_pointers_unique_ptr cxx11_smart_pointers_introduction->cxx11_new_language_features_miscellaneous cxx11_smart_pointers_introduction_livehack->cxx11_smart_pointers_introduction cxx11_smart_pointers_weak_ptr std::weak_ptr cxx11_smart_pointers_weak_ptr->cxx11_smart_pointers_shared_ptr cxx11_smart_pointers_weak_ptr->cxx11_smart_pointers_introduction cxx11_smart_pointers_unique_ptr->cxx11_smart_pointers_introduction cxx11_exercises_bag_shared Exercise: Bag Of Items, By Shared Reference cxx11_exercises_bag_shared->cxx11_new_language_features_range_based_for cxx11_exercises_bag_shared->cxx11_new_language_features_auto cxx11_exercises_bag_shared->cxx11_smart_pointers_shared_ptr cxx11_exercises_bag_shared->cxx11_smart_pointers_weak_ptr cxx11_exercises_bag_unique Exercise: Bag Of Items, By Unique Reference cxx11_exercises_bag_shared->cxx11_exercises_bag_unique cxx11_exercises_bag_copy Exercise: Bag Of Items, By Copy cxx11_exercises_bag_copy->cxx11_new_language_features_range_based_for cxx11_exercises_bag_copy->cxx11_new_language_features_auto cxx11_exercises_bag_unique->cxx11_new_language_features_range_based_for cxx11_exercises_bag_unique->cxx11_new_language_features_auto cxx11_exercises_bag_unique->cxx11_smart_pointers_unique_ptr cxx11_exercises_bag_unique->cxx11_exercises_bag_copy cxx11_functions_functions_bind std::bind cxx11_functions_functions_bind->cxx11_smart_pointers_closing_words cxx11_functions_functions_function->cxx11_functions_functions_bind linux_basics_shell_ls Directory Listings: The ls Command linux_basics_shell_cwd Current Working Directory linux_basics_shell_ls->linux_basics_shell_cwd linux_basics_shell_paths Absolute and Relative Paths linux_basics_shell_ls->linux_basics_shell_paths linux_basics_intro_overview Overview linux_basics_shell_ls->linux_basics_intro_overview linux_basics_shell_commandline Commandline linux_basics_shell_commandline->linux_basics_intro_overview linux_basics_shell_cwd->linux_basics_shell_commandline linux_basics_shell_cwd->linux_basics_shell_paths linux_basics_intro_process Processes, Scheduling, Address Spaces linux_basics_shell_cwd->linux_basics_intro_process linux_basics_shell_paths->linux_basics_shell_commandline linux_basics_shell_file_dir_create_rm Creating And Removing Files and Directories linux_basics_shell_file_dir_create_rm->linux_basics_shell_cwd linux_basics_shell_file_dir_create_rm->linux_basics_shell_paths linux_basics_intro_process->linux_basics_intro_overview linux_basics_permissions_basics Permissions: Mode, User and Group Ownership linux_basics_permissions_basics->linux_basics_shell_ls linux_sysprog_posix_threads_mutex->linux_sysprog_posix_threads_exercise_pthcreate_racecondition linux_sysprog_posix_threads_exercise_pthcreate_racecondition->linux_sysprog_posix_threads_lifecycle linux_sysprog_posix_threads_basics Basics linux_sysprog_posix_threads_lifecycle->linux_sysprog_posix_threads_basics linux_sysprog_scheduling_basics Scheduling (and Multitasking) linux_sysprog_posix_threads_basics->linux_sysprog_scheduling_basics linux_sysprog_posix_threads_exercise_mutex Mutex: Solve Load/Modify/Store Conflict linux_sysprog_posix_threads_condition_variable->linux_sysprog_posix_threads_exercise_mutex linux_sysprog_posix_threads_exercise_mutex->linux_sysprog_posix_threads_mutex linux_sysprog_blocking_io_blocking_io Blocking I/O: What is That? (“Everything is a file”) linux_sysprog_scheduling_basics->linux_sysprog_blocking_io_blocking_io linux_sysprog_basics_errorhandling Error Handling linux_sysprog_basics_syscalls System Calls vs. Library Functions linux_sysprog_basics_errorhandling->linux_sysprog_basics_syscalls linux_toolchain_basics Toolchain: Basics linux_sysprog_basics_syscalls->linux_toolchain_basics linux_sysprog_basics_groupnode Linux Systems Programming: Basics linux_sysprog_basics_groupnode->linux_sysprog_basics_errorhandling linux_sysprog_basics_groupnode->linux_sysprog_basics_syscalls linux_sysprog_fileio_basics File I/O: Basics linux_sysprog_fileio_basics->linux_basics_permissions_basics linux_sysprog_fileio_basics->linux_sysprog_basics_groupnode linux_sysprog_blocking_io_blocking_io->linux_sysprog_fileio_basics linux_toolchain_basics->linux_basics_shell_file_dir_create_rm