This page lists the various header files that are available in standard C++, grouped by topic.
| <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++.
<cassert>
<cctype>
<cerrno>
<cfloat>
<climits>
<cmath>
<csetjmp>
<csignal>
<cstdlib>
<cstddef>
<cstdarg>
<cstdio>
<cstring>
<ctime>
<cwchar>
<cwctype>