<string>

Defines the container class template basic_string and various supporting templates.

For more information about basic_string, see basic_string Class

Syntax

#include <string>

Remarks

The C++ language and the C++ Standard Library support two types of strings:

  • Null-terminated character arrays often referred to as C strings.

  • class template objects, of type basic_string, that handle all char-like template arguments.

Typedefs

Type name Description
string A type that describes a specialization of the class template basic_string with elements of type char as a string.
wstring A type that describes a specialization of the class template basic_string with elements of type wchar_t as a wstring.
u16string A type that describes a specialization of the class template basic_string based on elements of type char16_t.
u32string A type that describes a specialization of the class template basic_string based on elements of type char32_t.

Operators

Operator Description
operator+ Concatenates two string objects.
operator!= Tests if the string object on the left side of the operator is not equal to the string object on the right side.
operator== Tests if the string object on the left side of the operator is equal to the string object on the right side.
operator< Tests if the string object on the left side of the operator is less than to the string object on the right side.
operator<= Tests if the string object on the left side of the operator is less than or equal to the string object on the right side.
operator<< A template function that inserts a string into the output stream.
operator> Tests if the string object on the left side of the operator is greater than to the string object on the right side.
operator>= Tests if the string object on the left side of the operator is greater than or equal to the string object on the right side.
operator>> A template function that extracts a string from the input stream.

Specialized Template Functions

hash Produces a hash of a string.
swap Exchanges the arrays of characters of two strings.
stod Converts a character sequence to a double.
stof Converts a character sequence to a float.
stoi Converts a character sequence to an integer.
stold Converts a character sequence to a long double.
stoll Converts a character sequence to a long long.
stoul Converts a character sequence to an unsigned long.
stoull Converts a character sequence to an unsigned long long.
to_string Converts a value to a string.
to_wstring Converts a value to a wide string.

Functions

Function Description
getline Template Extract strings from the input stream line by line.

Classes

Class Description
basic_string Class A class template that describes objects that can store a sequence of arbitrary character-like objects.
char_traits Struct A class template that describes attributes associated with a character of type CharType

Specializations

char_traits<char> Struct A struct that is a specialization of the template struct char_traits<CharType> to an element of type char.
char_traits<wchar_t> Struct A struct that is a specialization of the template struct char_traits<CharType> to an element of type wchar_t.
char_traits<char16_t> Struct A struct that is a specialization of the template struct char_traits<CharType> to an element of type char16_t.
char_traits<char32_t> Struct A struct that is a specialization of the template struct char_traits<CharType> to an element of type char32_t.

Requirements

  • Header: <string>

  • Namespace: std

See also

Header Files Reference
Thread Safety in the C++ Standard Library