This page lists the various header files that are available in standard C++, grouped by topic.
| <bitset> | Provides the specialized container class std::bitset, a bit array. | 
| <deque> | Provides the container class template std::deque, a double-ended queue. | 
| <list> | Provides the container class template std::list, a doubly-linked list. | 
| <map> | Provides the container class templates std::map and std::multimap, an associative array and multimap. | 
| <queue> | Provides the container adapter class std::queue, a single-ended queue. | 
| <set> | Provides the container class templates std::set and std::multiset, sorted associative containers or sets. | 
| <stack> | Provides the container adapter class std::stack, a stack. | 
| <vector> | Provides the container class template std::vector, a dynamic array. | 
| <algorithm> | Provides definitions of many container algorithms. | 
| <functional> | Provides several function objects, designed for use with the standard algorithms. | 
| <iterator> | Provides classes and templates for working with iterators. | 
| <locale> | Provides classes and templates for working with locales. | 
| <memory> | Provides facilities for memory management in C++, including the class template std::auto_ptr. | 
| <stdexcept> | Contains standard exception classes such as std::logic_error and std::runtime_error, both derived from std::exception. | 
| <utility> | Provides the template class std::pair, for working with pairs (two-member tuples) of objects. | 
| <string> | Provides the C++ standard string classes and templates. | 
| <fstream> | Provides facilities for file-based input and output. | 
| <ios> | Provides several types and functions basic to the operation of iostreams. | 
| <iostream> | Provides C++ input and output fundamentals. | 
| <iosfwd> | Provides forward declarations of several I/O-related class templates. | 
| <iomanip> | Provides facilities to manipulate output formatting, such as the base used when formatting integers and the precision of floating point values. | 
| <istream> | Provides the template class std::istream and other supporting classes for input. | 
| <ostream> | Provides the template class std::ostream and other supporting classes for output. | 
| <sstream> | Provides the template class std::sstream and other supporting classes for string manipulation. | 
| <streambuf> | 
| <complex> | Provides class template std::complex and associated functions for working with complex numbers. | 
| <numeric> | Provides algorithms for numerical processing. | 
| <valarray> | Provides the template class std::valarray, an array class optimized for numeric processing. | 
| <exception> | Provides several types and functions related to exception handling, including std::exception, the base class of all exceptions thrown by the Standard Library. | 
| <limits> | Provides the template class std::numeric_limits, used for describing properties of fundamental numeric types. | 
| <new> | Provides operators new and delete and other functions and types composing the fundamentals of C++ memory management. | 
| <typeinfo> | Provides facilities for working with C++ run-time type information. | 
Each header from the C standard library is included in the C++
standard library under a different name, generated by removing the .h,
and adding a 'c' at the start, for example time.h becomes
ctime. The only difference between these headers and the traditional
C standard library headers is that where possible the functions should
be placed into the std:: namespace (although few compilers actually do
this). In ISO C, functions in standard library are allowed to be
implemented by macros, which is not allowed by ISO C++.