C++
C with object-oriented and generic programming layered on top.
CurrentadvancedFull course available
Overview
C++ extends C with classes, templates (generic programming), and a large standard library, while retaining low-level control and performance. It's the backbone of game engines, high-performance applications, and much system-level infrastructure.
- What it is
- A statically-typed, compiled language combining low-level control with object-oriented and generic programming.
- Why it's used
- For performance-critical applications (games, trading systems, real-time systems) that also want higher-level abstractions than plain C.
- Where it fits
- After C or general programming basics; commonly paired with a data structures & algorithms course.
Core concepts
- Classes and objects
- Templates (generics)
- The Standard Template Library (STL)
- RAII and memory management
- References
Example
std::vector is part of the STL, a generic, type-safe container -- a much safer alternative to C's raw arrays and manual memory management.
#include <vector>
#include <iostream>
int main() {
std::vector<int> nums = {1, 2, 3};
for (int n : nums) std::cout << n << " ";
}Common use cases
- Game engines
- High-frequency trading systems
- Performance-critical libraries and infrastructure
Project ideas
- A generic stack or queue implemented with templates