# gibsjose/cpp-cheat-sheet

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gibsjose-cpp-cheat-sheet).**

5,284 stars · 1,459 forks · C++

## Links

- GitHub: https://github.com/gibsjose/cpp-cheat-sheet
- awesome-repositories: https://awesome-repositories.com/repository/gibsjose-cpp-cheat-sheet.md

## Description

This project is a collection of condensed technical references and study guides for the C++ language. It serves as a language cheat sheet and programming reference covering core syntax, standards, and data organization patterns.

The resource provides specialized guides for algorithm study, data structure reference, and technical interview preparation. It includes materials for reviewing computational complexity and efficient data structure usage for competitive programming.

The content covers broad capability areas including object-oriented programming, memory management, and generic programming. It also details standard library containers, search algorithm implementations, and various tree structures.

## Tags

### Education & Learning Resources

- [Cheat Sheets](https://awesome-repositories.com/f/education-learning-resources/cheat-sheets.md) — Serves as a concise reference guide covering C++ syntax, standards, and core language features.
- [Algorithm Study Guides](https://awesome-repositories.com/f/education-learning-resources/algorithm-study-guides.md) — Provides specialized study guides for mastering data structures and algorithmic analysis for interview preparation.
- [Complexity Analysis](https://awesome-repositories.com/f/education-learning-resources/algorithm-study-guides/sorting-algorithms/complexity-analysis.md) — Provides theoretical frameworks for analyzing the computational complexity of algorithms. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/Data%20Structures%20and%20Algorithms.md))
- [Data Structures Reference](https://awesome-repositories.com/f/education-learning-resources/data-structures-reference.md) — Offers a comprehensive reference for common C++ container implementations and data organization patterns.
- [Search Algorithms](https://awesome-repositories.com/f/education-learning-resources/search-algorithms.md) — Implements common search algorithms including binary, depth-first, and breadth-first search. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/Data%20Structures%20and%20Algorithms.md))
- [Container Adaptor Implementations](https://awesome-repositories.com/f/education-learning-resources/stack-and-queue-algorithms/container-adaptor-implementations.md) — Provides a reference for using C++ container adaptors like stacks and queues. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/Data%20Structures%20and%20Algorithms.md))
- [Tree Data Structures](https://awesome-repositories.com/f/education-learning-resources/tree-data-structures.md) — Provides a study guide for implementing and using various binary and balanced tree structures. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/Data%20Structures%20and%20Algorithms.md))
- [Competitive Programming Training](https://awesome-repositories.com/f/education-learning-resources/competitive-programming-training.md) — Provides study materials for solving algorithmic problems under competitive programming constraints.
- [Encapsulation Techniques](https://awesome-repositories.com/f/education-learning-resources/educational-resources/languages-and-programming-concepts/programming-language-mastery-guides/object-oriented-programming-concepts/encapsulation-techniques.md) — Covers C++ class definitions and the use of access modifiers to implement data encapsulation. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C++%20Syntax.md))
- [Technical Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/technical-interview-preparation.md) — Offers guides on data structures and algorithmic patterns for technical coding interviews.

### Programming Languages & Runtimes

- [Language Syntax References](https://awesome-repositories.com/f/programming-languages-runtimes/language-syntax-references.md) — Serves as a condensed technical reference and cheat sheet for C++ syntax and features.
- [Generics & Templates](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/generics-templates.md) — Covers the implementation and use of templates for generic programming.
- [C++ Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/c/algorithm-libraries/c-implementations/c-implementations.md) — Implements fundamental sorting, searching, and graph algorithms using modern C++ standards.
- [Standard Library Associative Containers](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-structures/associative-interfaces/standard-library-associative-containers.md) — References the use of STL maps and sets for efficient data retrieval. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/Data%20Structures%20and%20Algorithms.md))
- [C++ Programming Mastery](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/language-learning-resources/c-programming-resources/c-programming-mastery.md) — Provides a technical overview of advanced C++ topics including memory management, polymorphism, and generic programming.
- [STL Container Abstractions](https://awesome-repositories.com/f/programming-languages-runtimes/stl-container-abstractions.md) — Offers a comprehensive reference for standard library container usage and data layout.
- [STL Sequence Containers](https://awesome-repositories.com/f/programming-languages-runtimes/stl-sequence-containers.md) — Reference for using STL vectors, lists, and dequeues for linear data storage. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/Data%20Structures%20and%20Algorithms.md))
- [Class Inheritance](https://awesome-repositories.com/f/programming-languages-runtimes/class-inheritance.md) — Describes C++ class inheritance mechanisms for creating specialized types and overriding base behaviors. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C%2B%2B%20Syntax.md))
- [Header and Source Separation](https://awesome-repositories.com/f/programming-languages-runtimes/header-and-source-separation.md) — Provides a reference on organizing C++ code via header and source file separation.
- [Language Namespaces](https://awesome-repositories.com/f/programming-languages-runtimes/module-and-package-management/namespace-organization/language-namespaces.md) — Provides guidance on using namespaces to organize types and functions and prevent naming collisions. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C++%20Syntax.md))
- [Object Lifecycle Managers](https://awesome-repositories.com/f/programming-languages-runtimes/object-lifecycle-managers.md) — Details the management of object creation and destruction through constructors, destructors, and initializer lists. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C++%20Syntax.md))
- [Object-Oriented Programming](https://awesome-repositories.com/f/programming-languages-runtimes/object-oriented-programming.md) — Details the application of inheritance, polymorphism, and encapsulation in C++.
- [Operator Overloading](https://awesome-repositories.com/f/programming-languages-runtimes/operator-overloading.md) — Details the ability to redefine standard operator behavior for user-defined C++ classes. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C%2B%2B%20Syntax.md))
- [Move Semantics](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/move-semantics.md) — Explains C++ move and copy semantics via constructors and assignment operators for efficient resource transfer. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C%2B%2B%20Syntax.md))
- [Runtime Polymorphism](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-polymorphism.md) — Explains runtime polymorphism through the use of virtual methods and vtables.

### DevOps & Infrastructure

- [Conditional Compilation](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-configuration-governance/platform-specific-source-resolution/conditional-compilation.md) — Details the use of preprocessor macros for conditional compilation of code blocks.

### Operating Systems & Systems Programming

- [Dynamic Memory Allocation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation.md) — Covers the principles and implementation of dynamic memory allocation on the heap.
- [Manual Heap Allocation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation/memory-allocation-tracers/heap-allocation-strategies/dynamic-heap-allocators/manual-heap-allocation.md) — Covers the use of heap-based dynamic memory allocation and the requirement for manual deallocation. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C%2B%2B%20Syntax.md))

### Software Engineering & Architecture

- [RAII Resource Management](https://awesome-repositories.com/f/software-engineering-architecture/raii-resource-management.md) — Provides a guide to the RAII pattern for automatic resource lifecycle management.
- [Reference Semantics](https://awesome-repositories.com/f/software-engineering-architecture/reference-argument-passing/reference-semantics.md) — Explains how to transfer objects using references and pointers to minimize memory overhead. ([source](https://github.com/gibsjose/cpp-cheat-sheet/blob/master/C++%20Syntax.md))
- [Namespace Scopes](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/configuration-dependency-systems/modular-dependency-management/namespace-scopes.md) — Explains the use of namespaces to organize code and prevent naming collisions.

### Part of an Awesome List

- [Learning & Reference](https://awesome-repositories.com/f/awesome-lists/learning/learning-reference.md) — Syntax and data structure cheat sheet
