├── .github └── workflows │ └── gh-pages.yml ├── CONTRIBUTING.md ├── README.md ├── book.toml └── src ├── 01_asm.md ├── 02_os_cpu.md ├── 03_cache_pipelines.md ├── 04_syntax_types.md ├── 05_compilation.md ├── 06_classes.md ├── 07_inheritance.md ├── 08_exceptions.md ├── 09_allocations_optimizations.md ├── 10_libraries.md ├── 11_undefined_behaviour.md ├── 12_validation.md ├── 13_tools.md ├── 14_templates.md ├── 15_stl.md ├── 16_namespaces_using_adl.md ├── 17_move_rvalue.md ├── 18_intrusive_containers.md ├── 19_smart_pointers.md ├── 20_perfect_forwarding.md ├── 21_decltype_auto_nullptr.md ├── 22_lambdas_type_erasure.md ├── 23_signals_reetrancy_errors.md ├── 24_optional_variant_tuple_stringview.md ├── 25_constexpr.md ├── 26_multithreading.md ├── 27_qt.md ├── 28_concepts.md ├── 29_ranges.md ├── 30_encoding.md ├── 31_coroutines.md ├── 32_modules.md ├── SUMMARY.md ├── course.md ├── images ├── 01-asm │ ├── CMP-OF.svg │ ├── CMP-SF.svg │ ├── CMP-ZF.svg │ └── Registers.svg ├── 02-OS │ ├── Page-Table-x86.png │ └── Translation-tree-unit.svg ├── 02.08_extended_memory_cell.png ├── 02.08_flags.png ├── 02.15_memory_disorder.png ├── 02.15_page_table.png ├── 02.15_page_tables.png ├── 02.29_cache_hit_graph.png ├── 02.29_dependencies.png ├── 02.29_hash_table.png ├── 03-optimization │ ├── CPU&memory-performance-over-time.png │ ├── Hash-table-variants.png │ └── Huge-pages.png ├── 03.28_compilation_graph.png ├── 07-inheritance │ └── Vitrual-inheritance.svg ├── 09-allocations-optimizations │ └── fbstring.svg ├── 09.05_value_category.jpg ├── 09.12_boost_multi_index.png ├── 09.12_intrusive_c.png ├── 09.12_intrusive_units.png ├── 09.12_nonintrusive_units.png ├── 09.17_aliasing.png ├── 09.17_make_shared.png ├── 09.17_shared_ptr.png ├── 09.17_weak_ptr.png ├── reverse_iterators.png └── reverse_iterators_vision.png └── slides ├── classes-3.odp ├── classes-3.pdf ├── compilation-process-5.odp ├── compilation-process-5.pdf ├── introduction-c-5.odp ├── introduction-c-5.pdf ├── intrusive.pdf ├── lecture-1j.odp ├── lecture-1j.pdf ├── lecture-2d.odp ├── lecture-2d.pdf ├── lecture-3.pdf ├── modern-15.odp ├── modern-15.pdf └── shared_ptr.pdf /.github/workflows/gh-pages.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/.github/workflows/gh-pages.yml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/README.md -------------------------------------------------------------------------------- /book.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/book.toml -------------------------------------------------------------------------------- /src/01_asm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/01_asm.md -------------------------------------------------------------------------------- /src/02_os_cpu.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/02_os_cpu.md -------------------------------------------------------------------------------- /src/03_cache_pipelines.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/03_cache_pipelines.md -------------------------------------------------------------------------------- /src/04_syntax_types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/04_syntax_types.md -------------------------------------------------------------------------------- /src/05_compilation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/05_compilation.md -------------------------------------------------------------------------------- /src/06_classes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/06_classes.md -------------------------------------------------------------------------------- /src/07_inheritance.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/07_inheritance.md -------------------------------------------------------------------------------- /src/08_exceptions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/08_exceptions.md -------------------------------------------------------------------------------- /src/09_allocations_optimizations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/09_allocations_optimizations.md -------------------------------------------------------------------------------- /src/10_libraries.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/10_libraries.md -------------------------------------------------------------------------------- /src/11_undefined_behaviour.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/11_undefined_behaviour.md -------------------------------------------------------------------------------- /src/12_validation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/12_validation.md -------------------------------------------------------------------------------- /src/13_tools.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/13_tools.md -------------------------------------------------------------------------------- /src/14_templates.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/14_templates.md -------------------------------------------------------------------------------- /src/15_stl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/15_stl.md -------------------------------------------------------------------------------- /src/16_namespaces_using_adl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/16_namespaces_using_adl.md -------------------------------------------------------------------------------- /src/17_move_rvalue.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/17_move_rvalue.md -------------------------------------------------------------------------------- /src/18_intrusive_containers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/18_intrusive_containers.md -------------------------------------------------------------------------------- /src/19_smart_pointers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/19_smart_pointers.md -------------------------------------------------------------------------------- /src/20_perfect_forwarding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/20_perfect_forwarding.md -------------------------------------------------------------------------------- /src/21_decltype_auto_nullptr.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/21_decltype_auto_nullptr.md -------------------------------------------------------------------------------- /src/22_lambdas_type_erasure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/22_lambdas_type_erasure.md -------------------------------------------------------------------------------- /src/23_signals_reetrancy_errors.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/23_signals_reetrancy_errors.md -------------------------------------------------------------------------------- /src/24_optional_variant_tuple_stringview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/24_optional_variant_tuple_stringview.md -------------------------------------------------------------------------------- /src/25_constexpr.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/25_constexpr.md -------------------------------------------------------------------------------- /src/26_multithreading.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/26_multithreading.md -------------------------------------------------------------------------------- /src/27_qt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/27_qt.md -------------------------------------------------------------------------------- /src/28_concepts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/28_concepts.md -------------------------------------------------------------------------------- /src/29_ranges.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/29_ranges.md -------------------------------------------------------------------------------- /src/30_encoding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/30_encoding.md -------------------------------------------------------------------------------- /src/31_coroutines.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/31_coroutines.md -------------------------------------------------------------------------------- /src/32_modules.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/32_modules.md -------------------------------------------------------------------------------- /src/SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/SUMMARY.md -------------------------------------------------------------------------------- /src/course.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/course.md -------------------------------------------------------------------------------- /src/images/01-asm/CMP-OF.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/01-asm/CMP-OF.svg -------------------------------------------------------------------------------- /src/images/01-asm/CMP-SF.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/01-asm/CMP-SF.svg -------------------------------------------------------------------------------- /src/images/01-asm/CMP-ZF.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/01-asm/CMP-ZF.svg -------------------------------------------------------------------------------- /src/images/01-asm/Registers.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/01-asm/Registers.svg -------------------------------------------------------------------------------- /src/images/02-OS/Page-Table-x86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02-OS/Page-Table-x86.png -------------------------------------------------------------------------------- /src/images/02-OS/Translation-tree-unit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02-OS/Translation-tree-unit.svg -------------------------------------------------------------------------------- /src/images/02.08_extended_memory_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.08_extended_memory_cell.png -------------------------------------------------------------------------------- /src/images/02.08_flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.08_flags.png -------------------------------------------------------------------------------- /src/images/02.15_memory_disorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.15_memory_disorder.png -------------------------------------------------------------------------------- /src/images/02.15_page_table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.15_page_table.png -------------------------------------------------------------------------------- /src/images/02.15_page_tables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.15_page_tables.png -------------------------------------------------------------------------------- /src/images/02.29_cache_hit_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.29_cache_hit_graph.png -------------------------------------------------------------------------------- /src/images/02.29_dependencies.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.29_dependencies.png -------------------------------------------------------------------------------- /src/images/02.29_hash_table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/02.29_hash_table.png -------------------------------------------------------------------------------- /src/images/03-optimization/CPU&memory-performance-over-time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/03-optimization/CPU&memory-performance-over-time.png -------------------------------------------------------------------------------- /src/images/03-optimization/Hash-table-variants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/03-optimization/Hash-table-variants.png -------------------------------------------------------------------------------- /src/images/03-optimization/Huge-pages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/03-optimization/Huge-pages.png -------------------------------------------------------------------------------- /src/images/03.28_compilation_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/03.28_compilation_graph.png -------------------------------------------------------------------------------- /src/images/07-inheritance/Vitrual-inheritance.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/07-inheritance/Vitrual-inheritance.svg -------------------------------------------------------------------------------- /src/images/09-allocations-optimizations/fbstring.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09-allocations-optimizations/fbstring.svg -------------------------------------------------------------------------------- /src/images/09.05_value_category.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.05_value_category.jpg -------------------------------------------------------------------------------- /src/images/09.12_boost_multi_index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.12_boost_multi_index.png -------------------------------------------------------------------------------- /src/images/09.12_intrusive_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.12_intrusive_c.png -------------------------------------------------------------------------------- /src/images/09.12_intrusive_units.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.12_intrusive_units.png -------------------------------------------------------------------------------- /src/images/09.12_nonintrusive_units.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.12_nonintrusive_units.png -------------------------------------------------------------------------------- /src/images/09.17_aliasing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.17_aliasing.png -------------------------------------------------------------------------------- /src/images/09.17_make_shared.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.17_make_shared.png -------------------------------------------------------------------------------- /src/images/09.17_shared_ptr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.17_shared_ptr.png -------------------------------------------------------------------------------- /src/images/09.17_weak_ptr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/09.17_weak_ptr.png -------------------------------------------------------------------------------- /src/images/reverse_iterators.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/reverse_iterators.png -------------------------------------------------------------------------------- /src/images/reverse_iterators_vision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/images/reverse_iterators_vision.png -------------------------------------------------------------------------------- /src/slides/classes-3.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/classes-3.odp -------------------------------------------------------------------------------- /src/slides/classes-3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/classes-3.pdf -------------------------------------------------------------------------------- /src/slides/compilation-process-5.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/compilation-process-5.odp -------------------------------------------------------------------------------- /src/slides/compilation-process-5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/compilation-process-5.pdf -------------------------------------------------------------------------------- /src/slides/introduction-c-5.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/introduction-c-5.odp -------------------------------------------------------------------------------- /src/slides/introduction-c-5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/introduction-c-5.pdf -------------------------------------------------------------------------------- /src/slides/intrusive.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/intrusive.pdf -------------------------------------------------------------------------------- /src/slides/lecture-1j.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/lecture-1j.odp -------------------------------------------------------------------------------- /src/slides/lecture-1j.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/lecture-1j.pdf -------------------------------------------------------------------------------- /src/slides/lecture-2d.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/lecture-2d.odp -------------------------------------------------------------------------------- /src/slides/lecture-2d.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/lecture-2d.pdf -------------------------------------------------------------------------------- /src/slides/lecture-3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/lecture-3.pdf -------------------------------------------------------------------------------- /src/slides/modern-15.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/modern-15.odp -------------------------------------------------------------------------------- /src/slides/modern-15.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/modern-15.pdf -------------------------------------------------------------------------------- /src/slides/shared_ptr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CPP-KT/cpp-notes/HEAD/src/slides/shared_ptr.pdf --------------------------------------------------------------------------------