| Input / Output |
| #include <iostream> | Stream I/O. cout and cin, istream and ostream, and endl,
fixed, and showpoint manipulators. |
| #include <iomanip> | More I/O manipulaters: eg, setw(w) and setprecision(p). |
| #include <fstream> | File I/O. ifstream and ofstream. |
| #include <sstream> | I/O to and from strings. istringstream and ostringstream. |
| C functions |
| #include <cassert> | assert macro. |
| #include <cstring> | C-string (array of chars) functions (strcpy(), ...). |
| #include <cctype> | char functions. |
| #include <cstdlib> | abs(), exit(), ... |
| #include <climits> | CHAR_BIT (bits per char), CHAR_MIN, CHAR_MAX, SHRT_MIN, SHRT_MAX,
INT_MIN, INT_MAX, LONG_MIN, LONG_MAX, ...
C++ defines a numeric_limits template. |
| #include <cfloat> | FLT_MIN, FLT_MAX, FLT_DIG,
DBL_MIN, DBL_MAX, DBL_DIG, ...
C++ defines a numeric_limits template. |
| STL (Standard Template Library) |
| #include <string> | String type and functions. |
| #include <vector> | Fast insertion/deletion at back, random access.
Implementation: dynamic array allocation/reallocation. |
| #include <list> | Fast insertion/deletion everywhere. No direct access.
Implementation: doubly linked list. |
| #include <deque> | Double-ended queue with fast insertion/deletion at front
and back, direct access (one-level indirection).
Implementation: multiple dynamically allocated blocks. |
| #include <stack> | stack - LIFO access, based on deque. |
| #include <queue> | queue (FIFO, based on deque) and
priority_queue
(retrieval of highest priority element first, based on vector).
|
| #include <map> | map and mulitmap classes.
Fast lookup based on key yields single/multiple entries.
Implementation: balanced binary tree. |
| #include <set> | set and multiset containing single/multiple values.
Fast lookup.
Implementation: balanced binary tree. |
| #include <algorithm> | Many algorithms for working with containers. |