📖 Guide

C++ — Complete Reference

Comprehensive C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.

104 commands across 12 categories

Basics

CommandDescription
#include <iostream>
Include I/O stream library
int main() { return 0; }
Program entry point
std::cout << "Hello" << std::endl;
Print to stdout
std::cin >> x;
Read input from stdin
using namespace std;
Use std namespace (avoid in headers)
auto x = 42;
Type inference — compiler deduces the type (C++11)
const int MAX = 100;
Compile-time or runtime constant
constexpr int SQ = 5 * 5;
Guaranteed compile-time constant (C++11)
int& ref = x;
Reference — alias for another variable

Strings

CommandDescription
#include <string>
Include string library
std::string s = "hello";
Declare a std::string
s.length() s.size()
Get string length
s.substr(pos, len)
e.g. "hello".substr(1, 3) // "ell"
Extract substring
s.find("sub")
Find substring position (string::npos if not found)
s.append(" world") s += " world"
Append to string
s.c_str()
Get C-style null-terminated char pointer
std::to_string(42)
Convert number to string
std::stoi(s) std::stod(s)
Parse string to int or double
s.empty()
Check if string is empty

Containers (vector/map/set)

CommandDescription
std::vector<int> v = {1, 2, 3};
Dynamic array
v.push_back(4);
Add element to end of vector
v.pop_back();
Remove last element
v.size() v.empty()
Get size / check if empty
v[i] v.at(i)
Access element (at() throws on out-of-range)
std::map<std::string, int> m;
Ordered key-value map (red-black tree)
m["key"] = 42;
Insert or update map entry
m.count("key") m.find("key")
Check existence / get iterator
std::unordered_map<K, V>
Hash map — O(1) average lookup (C++11)
std::set<int> s = {3, 1, 2};
Ordered unique-element set

Iterators

CommandDescription
v.begin() v.end()
Iterator to first / past-the-end element
for (auto it = v.begin(); it != v.end(); ++it)
Classic iterator loop
for (auto& elem : v) { }
Range-based for loop (C++11)
*it
Dereference iterator to get value
std::advance(it, n)
Move iterator forward by n positions
std::next(it) std::prev(it)
Get iterator to next/previous element (C++11)
v.rbegin() v.rend()
Reverse iterators
std::distance(first, last)
Count elements between two iterators

Classes & OOP

CommandDescription
class Name { public: ... private: ... };
Declare a class with access specifiers
Name obj; Name obj(args);
Create object on stack
Name(int x) : x_(x) { }
Constructor with initializer list
~Name() { }
Destructor — called when object is destroyed
class Child : public Parent { };
Public inheritance
virtual void method() = 0;
Pure virtual method (makes class abstract)
void method() override;
Override virtual method (C++11, catches errors)
friend class Other;
Grant another class access to private members
static int count;
Static member — shared across all instances
explicit Name(int x);
Prevent implicit conversions in constructor

Templates

CommandDescription
template <typename T>\nT max(T a, T b) { return a > b ? a : b; }
Function template
template <typename T>\nclass Stack { T data[100]; };
Class template
max<int>(3, 5)
Explicit template instantiation
template <typename T, int N>
Non-type template parameter
template <>\nclass Stack<bool> { };
Template specialization
template <typename... Args>\nvoid log(Args... args)
Variadic template (C++11)
template <typename T>\nconcept Numeric = std::integral<T> || std::floating_point<T>;
e.g. template <Numeric T> T add(T a, T b);
Concept constraint (C++20)

Smart Pointers

CommandDescription
#include <memory>
Include smart pointer library
auto p = std::make_unique<Type>(args);
Create unique_ptr (exclusive ownership, C++14)
auto p = std::make_shared<Type>(args);
Create shared_ptr (reference counted)
std::weak_ptr<Type> w = shared;
Weak reference — doesn't prevent destruction
p.get()
Get raw pointer without releasing ownership
p.reset();
Release ownership and destroy object
std::move(unique_p)
Transfer unique_ptr ownership
if (auto s = w.lock()) { }
Try to get shared_ptr from weak_ptr

Error Handling

CommandDescription
try { } catch (const std::exception& e) { }
Catch exceptions by const reference
throw std::runtime_error("msg");
Throw a runtime error
e.what()
Get exception message string
catch (...) { }
Catch any exception type
noexcept
e.g. void safe() noexcept { }
Declare function won't throw (C++11)
std::optional<T>
e.g. std::optional<int> find(int id);
Value that may or may not exist (C++17)
static_assert(cond, "msg");
Compile-time assertion (C++11)

File I/O

CommandDescription
#include <fstream>
Include file stream library
std::ifstream in("file.txt");
Open file for reading
std::ofstream out("file.txt");
Open file for writing (creates/overwrites)
std::getline(in, line);
Read a full line into string
out << "text" << std::endl;
Write to file using stream operator
in.is_open()
Check if file was opened successfully
in.close();
Explicitly close file (auto-closes on destruction)
while (std::getline(in, line)) { }
Read file line by line

STL Algorithms

CommandDescription
#include <algorithm>
Include algorithms library
std::sort(v.begin(), v.end());
Sort a container in ascending order
std::sort(v.begin(), v.end(), cmp);
Sort with custom comparator
std::find(v.begin(), v.end(), val);
Find first occurrence of value
std::count(v.begin(), v.end(), val);
Count occurrences of value
std::reverse(v.begin(), v.end());
Reverse container in place
std::accumulate(v.begin(), v.end(), 0);
e.g. #include <numeric>
Sum all elements (numeric header)
std::transform(in.begin(), in.end(), out.begin(), fn);
Apply function and store results
std::any_of(v.begin(), v.end(), pred);
Check if any element satisfies predicate
std::min_element(v.begin(), v.end());
Iterator to smallest element

Modern C++ (11/14/17/20)

CommandDescription
auto [x, y] = pair;
e.g. auto [key, val] = *map.begin();
Structured bindings (C++17)
if (auto it = m.find(k); it != m.end())
If with initializer (C++17)
std::variant<int, std::string> v;
Type-safe union (C++17)
std::any a = 42;
Type-erased container for any value (C++17)
std::string_view sv = "hello";
Non-owning string reference (C++17)
constexpr if (cond) { }
Compile-time branching (C++17)
std::ranges::sort(v);
Ranges — cleaner algorithm syntax (C++20)
auto result = v | std::views::filter(pred) | std::views::transform(fn);
Lazy range views with piping (C++20)
co_await co_yield co_return
Coroutine keywords (C++20)

Lambda Expressions

CommandDescription
[](int x) { return x * 2; }
Basic lambda — no captures
[&](int x) { return x + y; }
Capture all by reference
[=](int x) { return x + y; }
Capture all by value (copy)
[&x, y]() { }
Capture x by reference, y by value
[](int x) -> double { return x / 2.0; }
Lambda with explicit return type
auto fn = [](auto x) { return x * x; };
Generic lambda (C++14)
[x = std::move(ptr)]() { }
Init capture — move into lambda (C++14)
[]<typename T>(T x) { return x; }
Templated lambda (C++20)

More Guides

🌿
Git Commands
Complete Git command reference cheat sheet — from basics to advanced workflows, including branching, stashing, rebasing, and tagging. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference cheat sheet — modes, motions, editing, search and replace, macros, registers, marks, and window management.
🐳
Docker Commands
Complete Docker & Docker Compose command reference cheat sheet — containers, images, volumes, networks, registry auth, buildx multi-platform builds, & cleanup.
🔤
Regex Reference
Complete regular expression reference cheat sheet — character classes, anchors, quantifiers, groups, lookaheads, flags, and JavaScript string methods.
🐧
Linux Commands
Complete Linux/Bash command reference cheat sheet — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference cheat sheet — pods, deployments, services, secrets, namespaces, scaling, RBAC, networking, and Helm charts.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, control flow, classes, error handling, file I/O, comprehensions, and built-ins.
🗃️
SQL Reference
Complete SQL reference cheat sheet — queries, joins, aggregation, subqueries, indexes, window functions, string and date functions, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, caching, security headers, and rate limiting.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, agent forwarding, security hardening, and troubleshooting.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, shared libraries, credentials, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
⚡
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, plus retry, rate limiting, and circuit breaker patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
◈
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts cheat sheet — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, CloudWatch, SQS/SNS, Route 53, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, structs, interfaces, goroutines, channels, error handling, testing, and the standard library.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, providers, backend configuration, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, Galaxy, handlers, conditionals, loops, and ad-hoc commands.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL, plus access control, logging, and performance.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values, plus control codes and common escape sequences.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, arrays, control flow, and report generation with built-in variables.
💻
Bash
Complete Bash reference cheat sheet — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, structs, file I/O, preprocessor, and standard library.
🔐
Chmod
Linux file permission commands and patterns for chmod, covering numeric and symbolic modes, recursive changes, and SUID/SGID/sticky bits.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers — covering Network, Performance, and Application panels.
⏰
Cron
Cron scheduling reference covering syntax, special strings, field values, crontab management, environment variables, and logging.
🎨
CSS
Complete CSS reference cheat sheet — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
🌐
Curl
Curl command-line reference for HTTP requests, headers, authentication, cookies, proxies, file transfers, SSL/TLS, debugging, and API patterns.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns, plus collections, error handling, and classes.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, health checks, profiles, and build options.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, column types, queries, filters, joins, relations, migrations, indexes, and patterns.
⚡
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding, covering nesting, multiplication, numbering, and grouping.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering by name, size, time, permissions, type, and actions.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, Hosting, Storage, and security rules.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns, plus matrix strategies, caching, and artifacts.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions, context options, and file filtering.
📄
HTML
Complete HTML reference — document structure, text content, links, forms, tables, media, semantic elements, meta tags, attributes, and accessibility.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes across 1xx-5xx classes, with descriptions, examples, and common usage patterns.
☕
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more, including animation effects, traversing, and plugins.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more, plus middleware, validation, and authentication.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages, plus figures, tables, and citation styles.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, task lists, footnotes, and extensions.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration, plus replica sets, users, roles, and query operators.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, data types, user permissions, and database administration.
▲
Next.js
Next.js App Router reference covering routing, data fetching, server components, API routes, middleware, and deployment configuration.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, events, child processes, and npm scripts.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration, plus workspaces, security audits, and npx.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python, covering reshaping, broadcasting, and linear algebra.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python, covering DataFrames, grouping, merging, and date/time.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features, plus file I/O, superglobals, and error handling.
🔄
PM2
Production process manager for Node.js applications with cluster mode, monitoring, log management, startup scripts, and zero-downtime reloads.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI, plus relations, aggregations, filtering, and seeding patterns.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, structs, enums, error handling, closures, and concurrency.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, extends, maps, and the modern module system.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window and split-region management, key bindings, copy mode, and remote work.
✂️
Sed
Stream editor for filtering and transforming text, line by line — substitution, address ranges, hold space, branching, and flags.
⚡
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions, plus row level security and migrations.
🖥️
Tmux
Terminal multiplexer cheat sheet for managing multiple sessions, windows, and panes from a single terminal, with copy mode and status bar configuration.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns, including arrays of tables and inline tables.
▲
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, secrets, logs, edge functions, and configuration.
⚡
Vite
Next-generation frontend build tool with instant HMR, native ES modules, plugins, environment variables, library mode, and Rollup-based builds.
📦
Webpack
Module bundler for JavaScript applications — entry/output config, loaders, plugins, code splitting, module resolution, and optimization.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, string functions, node tests, and operators for XML/HTML querying.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, aliases, multi-line strings, nested structures, and common patterns.

📖 Free, searchable command reference. Bookmark this page for quick access.