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++.