C++ Cheat Sheet

Free C++ cheat sheet: pointers, STL containers, classes, and memory management at a glance.

Basics

ConceptSyntaxExample
Include#include <iostream>#include <vector>
Printstd::cout << value << std::endlcout << "Hello" << endl;
Inputstd::cin >> variablecin >> name;
Namespaceusing namespace std;Avoids writing std:: prefix

Memory

ConceptSyntaxExample
Pointertype* ptr = &varint* p = &x;
Referencetype& ref = varint& r = x; // alias for x
Dynamic allocnew / deleteint* p = new int(5); delete p;
Smart pointerunique_ptr, shared_ptrauto p = make_unique<int>(42);

Classes & OOP

ConceptSyntaxExample
Classclass Name { public: ... };class Dog { public: string name; };
ConstructorName(params) : init { }Dog(string n) : name(n) {}
Inheritanceclass B : public A { };class Puppy : public Dog {};
Virtualvirtual void fn() = 0;Pure virtual = abstract method

STL Containers

ConceptSyntaxExample
Vectorvector<T> vvector<int> v = {1, 2, 3};
Mapmap<K,V> mmap<string,int> ages;
Setset<T> sset<int> unique = {1, 2, 3};
Unordered mapunordered_map<K,V>unordered_map<string,int> fast;

Algorithms

ConceptSyntaxExample
Sortsort(begin, end)sort(v.begin(), v.end());
Findfind(begin, end, val)auto it = find(v.begin(), v.end(), 5);
Transformtransform(in, in_end, out, fn)transform(v.begin(), v.end(), v.begin(), [](int x){return x*2;});
Accumulateaccumulate(begin, end, init)int sum = accumulate(v.begin(), v.end(), 0);