Containers
Containers store collections of objects. The STL provides optimized, well-tested containers for different access patterns and performance needs. Choose the right container for your use case.
Iterators
Iterators are the glue between containers and algorithms. They provide a uniform interface for traversing and accessing elements in different container types, enabling generic algorithms.
Algorithms
STL algorithms are generic functions that work with any container through iterators. They provide tested, optimized implementations of common operations. Never write your own sort or search - use the STL!
Chrono
The chrono library provides type-safe time utilities for durations, time points, and clocks. It's designed to prevent common time-related bugs through strong typing.
Ranges
Ranges (C++20) is a modern library that provides composable, lazy-evaluated operations on sequences. It replaces traditional iterator pairs with range objects and introduces views for efficient data transformation pipelines.
Strings
C++ provides std::string_view (C++17) for non-owning string references. Rich API for searching, modifying, and converting text data.
Filesystem
The filesystem library (C++17) provides portable facilities for manipulating files and directories. It replaces platform-specific APIs and C-style file operations with a modern, type-safe interface.
IOStreams
The iostream library provides facilities for input/output operations through streams. It's a type-safe, extensible alternative to C's printf/scanf.
Allocators
Allocators are objects that manage memory allocation for STL containers. They provide a standardized interface for customizing how containers acquire and release memory.
Utilities
The utilities library provides general-purpose components that don't fit into other categories but are essential for modern C++ development.