C++ Cheat Sheet
Free C++ cheat sheet: pointers, STL containers, classes, and memory management at a glance.
Basics
| Concept | Syntax | Example |
|---|---|---|
| Include | #include <iostream> | #include <vector> |
std::cout << value << std::endl | cout << "Hello" << endl; | |
| Input | std::cin >> variable | cin >> name; |
| Namespace | using namespace std; | Avoids writing std:: prefix |
Memory
| Concept | Syntax | Example |
|---|---|---|
| Pointer | type* ptr = &var | int* p = &x; |
| Reference | type& ref = var | int& r = x; // alias for x |
| Dynamic alloc | new / delete | int* p = new int(5); delete p; |
| Smart pointer | unique_ptr, shared_ptr | auto p = make_unique<int>(42); |
Classes & OOP
| Concept | Syntax | Example |
|---|---|---|
| Class | class Name { public: ... }; | class Dog { public: string name; }; |
| Constructor | Name(params) : init { } | Dog(string n) : name(n) {} |
| Inheritance | class B : public A { }; | class Puppy : public Dog {}; |
| Virtual | virtual void fn() = 0; | Pure virtual = abstract method |
STL Containers
| Concept | Syntax | Example |
|---|---|---|
| Vector | vector<T> v | vector<int> v = {1, 2, 3}; |
| Map | map<K,V> m | map<string,int> ages; |
| Set | set<T> s | set<int> unique = {1, 2, 3}; |
| Unordered map | unordered_map<K,V> | unordered_map<string,int> fast; |
Algorithms
| Concept | Syntax | Example |
|---|---|---|
| Sort | sort(begin, end) | sort(v.begin(), v.end()); |
| Find | find(begin, end, val) | auto it = find(v.begin(), v.end(), 5); |
| Transform | transform(in, in_end, out, fn) | transform(v.begin(), v.end(), v.begin(), [](int x){return x*2;}); |
| Accumulate | accumulate(begin, end, init) | int sum = accumulate(v.begin(), v.end(), 0); |