Skip to main content

index

docs/
└── tutorials/
└── cpp/
β”œβ”€β”€ index.mdx
β”‚
β”œβ”€β”€ 01-getting-started/
β”‚ β”œβ”€β”€ what-is-cpp.mdx
β”‚ β”œβ”€β”€ history-and-features.mdx
β”‚ β”œβ”€β”€ cpp-vs-c.mdx
β”‚ β”œβ”€β”€ install-cpp-compiler.mdx
β”‚ β”œβ”€β”€ setup-vscode-visual-studio.mdx
β”‚ β”œβ”€β”€ gcc-clang-and-msvc.mdx
β”‚ β”œβ”€β”€ compilation-and-linking.mdx
β”‚ └── first-cpp-program.mdx
β”‚
β”œβ”€β”€ 02-cpp-fundamentals/
β”‚ β”œβ”€β”€ program-structure.mdx
β”‚ β”œβ”€β”€ variables-and-constants.mdx
β”‚ β”œβ”€β”€ built-in-data-types.mdx
β”‚ β”œβ”€β”€ type-inference-with-auto.mdx
β”‚ β”œβ”€β”€ type-conversions.mdx
β”‚ β”œβ”€β”€ operators.mdx
β”‚ β”œβ”€β”€ input-and-output.mdx
β”‚ β”œβ”€β”€ namespaces.mdx
β”‚ └── naming-conventions.mdx
β”‚
β”œβ”€β”€ 03-control-flow/
β”‚ β”œβ”€β”€ if-else-statements.mdx
β”‚ β”œβ”€β”€ switch-statements.mdx
β”‚ β”œβ”€β”€ for-loops.mdx
β”‚ β”œβ”€β”€ while-and-do-while.mdx
β”‚ β”œβ”€β”€ range-based-for-loops.mdx
β”‚ β”œβ”€β”€ break-and-continue.mdx
β”‚ └── nested-control-flow.mdx
β”‚
β”œβ”€β”€ 04-functions/
β”‚ β”œβ”€β”€ function-fundamentals.mdx
β”‚ β”œβ”€β”€ function-declarations.mdx
β”‚ β”œβ”€β”€ parameters-and-return-values.mdx
β”‚ β”œβ”€β”€ function-overloading.mdx
β”‚ β”œβ”€β”€ default-arguments.mdx
β”‚ β”œβ”€β”€ inline-functions.mdx
β”‚ β”œβ”€β”€ recursion.mdx
β”‚ β”œβ”€β”€ lambda-expressions.mdx
β”‚ └── function-templates.mdx
β”‚
β”œβ”€β”€ 05-arrays-strings-and-pointers/
β”‚ β”œβ”€β”€ arrays.mdx
β”‚ β”œβ”€β”€ multidimensional-arrays.mdx
β”‚ β”œβ”€β”€ c-style-strings.mdx
β”‚ β”œβ”€β”€ std-string.mdx
β”‚ β”œβ”€β”€ string-operations.mdx
β”‚ β”œβ”€β”€ pointers.mdx
β”‚ β”œβ”€β”€ references.mdx
β”‚ β”œβ”€β”€ pointers-vs-references.mdx
β”‚ β”œβ”€β”€ pointer-arithmetic.mdx
β”‚ └── smart-pointer-introduction.mdx
β”‚
β”œβ”€β”€ 06-object-oriented-programming/
β”‚ β”œβ”€β”€ classes-and-objects.mdx
β”‚ β”œβ”€β”€ access-specifiers.mdx
β”‚ β”œβ”€β”€ constructors.mdx
β”‚ β”œβ”€β”€ destructors.mdx
β”‚ β”œβ”€β”€ this-pointer.mdx
β”‚ β”œβ”€β”€ encapsulation.mdx
β”‚ β”œβ”€β”€ inheritance.mdx
β”‚ β”œβ”€β”€ polymorphism.mdx
β”‚ β”œβ”€β”€ virtual-functions.mdx
β”‚ β”œβ”€β”€ abstract-classes.mdx
β”‚ β”œβ”€β”€ operator-overloading.mdx
β”‚ β”œβ”€β”€ composition-vs-inheritance.mdx
β”‚ └── rule-of-zero-three-five.mdx
β”‚
β”œβ”€β”€ 07-memory-management/
β”‚ β”œβ”€β”€ stack-and-heap.mdx
β”‚ β”œβ”€β”€ dynamic-allocation.mdx
β”‚ β”œβ”€β”€ new-and-delete.mdx
β”‚ β”œβ”€β”€ memory-leaks.mdx
β”‚ β”œβ”€β”€ unique-ptr.mdx
β”‚ β”œβ”€β”€ shared-ptr.mdx
β”‚ β”œβ”€β”€ weak-ptr.mdx
β”‚ β”œβ”€β”€ move-semantics.mdx
β”‚ β”œβ”€β”€ lvalues-and-rvalues.mdx
β”‚ └── resource-acquisition-is-initialization.mdx
β”‚
β”œβ”€β”€ 08-templates-and-generic-programming/
β”‚ β”œβ”€β”€ function-templates.mdx
β”‚ β”œβ”€β”€ class-templates.mdx
β”‚ β”œβ”€β”€ template-specialization.mdx
β”‚ β”œβ”€β”€ variadic-templates.mdx
β”‚ β”œβ”€β”€ type-traits.mdx
β”‚ β”œβ”€β”€ concepts-and-requires.mdx
β”‚ β”œβ”€β”€ constexpr-and-consteval.mdx
β”‚ └── generic-programming-patterns.mdx
β”‚
β”œβ”€β”€ 09-standard-template-library/
β”‚ β”œβ”€β”€ stl-overview.mdx
β”‚ β”œβ”€β”€ vector.mdx
β”‚ β”œβ”€β”€ array-and-span.mdx
β”‚ β”œβ”€β”€ deque-and-list.mdx
β”‚ β”œβ”€β”€ stack-and-queue.mdx
β”‚ β”œβ”€β”€ set-and-multiset.mdx
β”‚ β”œβ”€β”€ map-and-multimap.mdx
β”‚ β”œβ”€β”€ unordered-containers.mdx
β”‚ β”œβ”€β”€ iterators.mdx
β”‚ β”œβ”€β”€ algorithms.mdx
β”‚ β”œβ”€β”€ ranges-and-views.mdx
β”‚ └── choosing-stl-containers.mdx
β”‚
β”œβ”€β”€ 10-modern-cpp/
β”‚ β”œβ”€β”€ modern-cpp-overview.mdx
β”‚ β”œβ”€β”€ uniform-initialization.mdx
β”‚ β”œβ”€β”€ auto-and-decltype.mdx
β”‚ β”œβ”€β”€ nullptr.mdx
β”‚ β”œβ”€β”€ structured-bindings.mdx
β”‚ β”œβ”€β”€ optional.mdx
β”‚ β”œβ”€β”€ variant-and-any.mdx
β”‚ β”œβ”€β”€ filesystem-library.mdx
β”‚ β”œβ”€β”€ chrono-library.mdx
β”‚ β”œβ”€β”€ ranges-library.mdx
β”‚ β”œβ”€β”€ modules-overview.mdx
β”‚ β”œβ”€β”€ coroutines-introduction.mdx
β”‚ └── cpp-standard-versions.mdx
β”‚
β”œβ”€β”€ 11-exception-handling/
β”‚ β”œβ”€β”€ exception-fundamentals.mdx
β”‚ β”œβ”€β”€ try-catch-throw.mdx
β”‚ β”œβ”€β”€ standard-exceptions.mdx
β”‚ β”œβ”€β”€ custom-exceptions.mdx
β”‚ β”œβ”€β”€ noexcept.mdx
β”‚ β”œβ”€β”€ exception-safety-guarantees.mdx
β”‚ └── error-handling-design.mdx
β”‚
β”œβ”€β”€ 12-file-handling-and-serialization/
β”‚ β”œβ”€β”€ file-streams.mdx
β”‚ β”œβ”€β”€ reading-text-files.mdx
β”‚ β”œβ”€β”€ writing-text-files.mdx
β”‚ β”œβ”€β”€ binary-file-operations.mdx
β”‚ β”œβ”€β”€ filesystem-operations.mdx
β”‚ β”œβ”€β”€ csv-processing.mdx
β”‚ β”œβ”€β”€ json-with-cpp.mdx
β”‚ └── serialization-best-practices.mdx
β”‚
β”œβ”€β”€ 13-data-structures-and-algorithms/
β”‚ β”œβ”€β”€ complexity-analysis.mdx
β”‚ β”œβ”€β”€ searching-algorithms.mdx
β”‚ β”œβ”€β”€ sorting-algorithms.mdx
β”‚ β”œβ”€β”€ linked-lists.mdx
β”‚ β”œβ”€β”€ stacks-and-queues.mdx
β”‚ β”œβ”€β”€ hash-tables.mdx
β”‚ β”œβ”€β”€ trees-and-binary-search-trees.mdx
β”‚ β”œβ”€β”€ heaps-and-priority-queues.mdx
β”‚ β”œβ”€β”€ graphs.mdx
β”‚ β”œβ”€β”€ graph-traversal.mdx
β”‚ β”œβ”€β”€ dynamic-programming.mdx
β”‚ └── competitive-programming-patterns.mdx
β”‚
β”œβ”€β”€ 14-concurrency-and-parallelism/
β”‚ β”œβ”€β”€ concurrency-fundamentals.mdx
β”‚ β”œβ”€β”€ threads.mdx
β”‚ β”œβ”€β”€ mutexes-and-lock-guards.mdx
β”‚ β”œβ”€β”€ condition-variables.mdx
β”‚ β”œβ”€β”€ futures-and-promises.mdx
β”‚ β”œβ”€β”€ async-and-await-concepts.mdx
β”‚ β”œβ”€β”€ atomics.mdx
β”‚ β”œβ”€β”€ memory-model.mdx
β”‚ β”œβ”€β”€ race-conditions.mdx
β”‚ └── parallel-algorithms.mdx
β”‚
β”œβ”€β”€ 15-build-tools-and-project-architecture/
β”‚ β”œβ”€β”€ project-structure.mdx
β”‚ β”œβ”€β”€ header-and-source-files.mdx
β”‚ β”œβ”€β”€ header-guards-and-pragma-once.mdx
β”‚ β”œβ”€β”€ separate-compilation.mdx
β”‚ β”œβ”€β”€ cmake-fundamentals.mdx
β”‚ β”œβ”€β”€ libraries-and-linking.mdx
β”‚ β”œβ”€β”€ package-management.mdx
β”‚ β”œβ”€β”€ dependency-management.mdx
β”‚ └── cross-platform-builds.mdx
β”‚
β”œβ”€β”€ 16-testing-and-debugging/
β”‚ β”œβ”€β”€ compiler-warnings.mdx
β”‚ β”œβ”€β”€ debugging-with-gdb.mdx
β”‚ β”œβ”€β”€ debugging-with-lldb.mdx
β”‚ β”œβ”€β”€ unit-testing.mdx
β”‚ β”œβ”€β”€ google-test.mdx
β”‚ β”œβ”€β”€ test-driven-development.mdx
β”‚ β”œβ”€β”€ addresssanitizer.mdx
β”‚ β”œβ”€β”€ undefinedbehaviorsanitizer.mdx
β”‚ β”œβ”€β”€ static-analysis.mdx
β”‚ └── performance-profiling.mdx
β”‚
β”œβ”€β”€ 17-networking-and-systems/
β”‚ β”œβ”€β”€ operating-system-fundamentals.mdx
β”‚ β”œβ”€β”€ processes-and-threads.mdx
β”‚ β”œβ”€β”€ sockets-overview.mdx
β”‚ β”œβ”€β”€ tcp-client-server.mdx
β”‚ β”œβ”€β”€ http-client-development.mdx
β”‚ β”œβ”€β”€ cross-platform-system-apis.mdx
β”‚ β”œβ”€β”€ memory-layout.mdx
β”‚ └── hardware-interaction-overview.mdx
β”‚
β”œβ”€β”€ 18-security-and-performance/
β”‚ β”œβ”€β”€ secure-cpp-development.mdx
β”‚ β”œβ”€β”€ buffer-overflows.mdx
β”‚ β”œβ”€β”€ integer-overflow.mdx
β”‚ β”œβ”€β”€ undefined-behavior.mdx
β”‚ β”œβ”€β”€ input-validation.mdx
β”‚ β”œβ”€β”€ resource-management.mdx
β”‚ β”œβ”€β”€ performance-benchmarking.mdx
β”‚ β”œβ”€β”€ profiling-and-optimization.mdx
β”‚ └── secure-coding-checklist.mdx
β”‚
β”œβ”€β”€ 19-projects/
β”‚ β”œβ”€β”€ console-calculator.mdx
β”‚ β”œβ”€β”€ number-guessing-game.mdx
β”‚ β”œβ”€β”€ student-management-system.mdx
β”‚ β”œβ”€β”€ library-management-system.mdx
β”‚ β”œβ”€β”€ inventory-management-system.mdx
β”‚ β”œβ”€β”€ custom-data-structures-library.mdx
β”‚ β”œβ”€β”€ multithreaded-file-search.mdx
β”‚ β”œβ”€β”€ tcp-chat-application.mdx
β”‚ └── production-ready-cpp-project.mdx
β”‚
β”œβ”€β”€ 20-practice/
β”‚ β”œβ”€β”€ beginner-exercises.mdx
β”‚ β”œβ”€β”€ intermediate-exercises.mdx
β”‚ β”œβ”€β”€ advanced-exercises.mdx
β”‚ β”œβ”€β”€ stl-challenges.mdx
β”‚ β”œβ”€β”€ algorithms-challenges.mdx
β”‚ β”œβ”€β”€ quizzes.mdx
β”‚ └── interview-questions.mdx
β”‚
β”œβ”€β”€ reference/
β”‚ β”œβ”€β”€ cpp-syntax-cheatsheet.mdx
β”‚ β”œβ”€β”€ operators-reference.mdx
β”‚ β”œβ”€β”€ stl-reference.mdx
β”‚ β”œβ”€β”€ smart-pointers-reference.mdx
β”‚ β”œβ”€β”€ compiler-commands.mdx
β”‚ β”œβ”€β”€ cpp-standard-versions.mdx
β”‚ └── glossary.mdx
β”‚
└── assets/
β”œβ”€β”€ images/
└── diagrams/