Export High-Res PDF
Switch to Light Mode
SkillSnap Official GuideUpdated 7/24/2026
C / C++
The foundations of modern computing. Master memory management, pointers, and the STL for high-performance systems programming.
Memory & Pointers (C Roots)
Type-safe null pointer (Avoid NULL)nullptr
Always use for portable allocationssizeof(type)
Must pair with every malloc / newfree / delete
Immutable data (Read-only pointer)const type*
Moves by sizeof(type), not 1 byteptr + 1
Modern C++ & RAII
Type deduction (auto it = vec.begin())auto
Exclusive ownership (No new/delete)std::unique_ptr
Shared ownership (Ref counted)std::shared_ptr
Safe allocation (Prevents leaks)std::make_unique
Exception-safe mutex lockingstd::lock_guard
STL & Containers
Dynamic array (Default container)std::vector
Sorted Key-Value (Tree, O(log n))std::map
Hash Table (O(1))std::unordered_map
Non-owning string reference (C++17)std::string_view
Non-owning array view (C++20)std::span
Classes & OOP
Required for polymorphic base classesvirtual ~Dtor()
Ensure method overrides base classoverride
Prevent inheritance or overridingfinal
Prevent implicit constructor conversionsexplicit
Define Dtor, Copy/Move Ctor & AssignRule of Five
Performance & Concurrency
Compute value at compile timeconstexpr
Pass by ref-to-const (Avoid copies)const type&
Transfer resources (No copy)std::move
Prevent vector reallocationsvec.reserve(n)
Warn if return value is ignored[[nodiscard]]
Tooling & Debugging
Compile-time error checkingstatic_assert
Runtime memory error detectionAddressSanitizer
Header Guard (Prevents double include)#pragma once
Automated code stylingClang-Format