<string>
Определяет класс basic_string шаблона контейнера и различные поддержка шаблонов.
Дополнительные сведения о методе basic_string см. в разделе basic_string Class.
namespace std {
template<class CharType>
class char_traits;
template<>
class char_traits<char>;
template<>
class char_traits<wchar_t>;
template<>
class char_traits<char16_t>;
template<>
class char_traits<char32_t>;
template<
class CharType,
class Traits = char_traits<CharType>,
class Allocator = allocator<CharType>
> class basic_string;
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
typedef basic_string<char16_t> u16string;
typedef basic_string<char32_t> u32string;
// NARROW FUNCTIONS
int stoi (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long stol (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long stoul (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long long stoll (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long long stoull (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
float stof (
const string& _Str,
size_t *_Idx = 0
);
double stod (
const string& _Str,
size_t *_Idx = 0
);
long double stold (
const string& _Str,
size_t *_Idx = 0
);
string to_string (long long _Val);
string to_string (unsigned long long _Val);
string to_string (long double _Val);
// WIDE FUNCTIONS
int stoi (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long stol (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long stoul (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long long stoll (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long long stoull (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
float stof (
const wstring& _Str,
size_t *_Idx = 0
);
double stod (
const wstring& _Str,
size_t *_Idx = 0
);
long double stold (
const wstring& _Str,
size_t *_Idx = 0
);
wstring to_wstring (long long _Val);
wstring to_wstring (unsigned long long _Val);
wstring to_wstring (long double _Val);
// TEMPLATE FUNCTIONS
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
CharType _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
CharType _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
CharType _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
CharType _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const basic_string<CharType, Traits, Allocator>& left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
void swap (
basic_string<CharType, Traits, Allocator>& _Left,
basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_ostream<CharType>& operator<< (
basic_ostream<CharType>& _OStream,
const basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType>& operator>> (
basic_istream<CharType>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str,
CharType _Delimiter
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>&& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>&& _IStream,
basic_string<CharType, Traits, Allocator>& _Str,
CharType _Delimiter
);
} // namespace std
Параметры
CharType
Параметр шаблона, описывающий тип символьных данных.Признаки
Параметр шаблона, описывающий свойства символьных данных CharType.Механизм распределения
Параметр шаблона, описывающий, сохраненный объект выделения памяти._Str
Эти символьные данные CharTypebasic_string обозреватель._Val
Преобразуемое значение._Idx
Значение индекса первого символа unconverted._Base
Основание числа, которое необходимо использовать._IStream
Входной поток CharType эти символьные данные обозреватель._OStream
Эти символьные данные CharType поток вывода обозреватель._Delimiter
Разделитель линии._Left
(Выйденные) первые сравнивают параметр или basic_string или символьные данные._Right
Секунда (right) сравнивает параметр или basic_string или символьные данные.
Заметки
Язык C++ и стандартные типы поддержки 2 библиотеки C++ строк:
Null- завершенные массив знаков часто называли строки c#.
Класс-шаблон возражает типа basic_string, который обрабатывает все char- как аргументы шаблонов.
Определения типов
Тип, описывающий специализацию класса basic_string шаблона с элементами типа char как string. |
|
Тип, описывающий специализацию класса basic_string шаблона с элементами типа wchar_t как wstring. |
|
Тип, описывающий специализацию класса basic_string шаблона на основе элементах типа char16_t. |
|
Тип, описывающий специализацию класса basic_string шаблона на основе элементах типа char32_t. |
Операторы
Сцепляет 2 строковый объект. |
|
Тесты, если объект строки в левой части оператора не равно объект строки справа. |
|
Тесты, если объект строки в левой части оператора равно объект строки справа. |
|
Тесты, если объект строки в левой части оператора, чем объект строки справа. |
|
Тесты, если объект строки слева от оператора, меньше или равно объект строки справа. |
|
Функция шаблона, которая вставляет строку в поток вывода. |
|
Тесты, если объект строки в левой части оператора больше, чем объект строки справа. |
|
Тесты, если объект строки в левой части оператора больше или равно значению объекта строки справа. |
|
Функция шаблона, который извлекает строки из входного потока. |
Специализированные функции шаблона
Обменивает массивы символов 2 строк. |
|
Преобразует последовательность символов в double. |
|
Преобразует последовательность символов в float. |
|
Преобразует последовательность знаков в целое число. |
|
Преобразует последовательность символов в long double. |
|
Преобразует последовательность символов в long long. |
|
Преобразует последовательность символов в unsigned long. |
|
Преобразует последовательность символов в unsigned long long. |
|
Преобразовывает значение в значение string. |
|
Преобразование значения к широкому string. |
Функции
Извлечение строк из входного потока построчного. |
Классы
Класс шаблона, который описывает объекты, которые могут храниться последовательность произвольного знак- в виде объектов. |
|
Класс шаблона, описывающий атрибуты, связанные с символом типа CharType |
Специализации
Структура, специализация структуры char_traits<CharType> шаблона к элементу типа char. |
|
Структура, специализация структуры char_traits<CharType> шаблона к элементу типа wchar_t. |
|
Структура, специализация структуры char_traits<CharType> шаблона к элементу типа char16_t. |
|
Структура, специализация структуры char_traits<CharType> шаблона к элементу типа char32_t. |
Требования
заголовок: <string>
std пространство имен:
См. также
Ссылки
Потокобезопасность в стандартной библиотеке C++