std::basic_string::basic_string
| explicit basic_string( const Allocator& alloc = Allocator() ); |
(1) | |
| basic_string( size_type count, CharT ch, |
(2) | |
| basic_string( const basic_string& other, size_type pos, |
(3) | |
| basic_string( const CharT* s, size_type count, |
(4) | |
| basic_string( const CharT* s, const Allocator& alloc = Allocator() ); |
(5) | |
| template< class InputIt > basic_string( InputIt first, InputIt last, |
(6) | |
| basic_string( const basic_string& other ); |
(7) | |
| basic_string( const basic_string& other, const Allocator& alloc ); |
(7) | (начиная с C++11) |
| basic_string( basic_string&& other ) |
(8) | (начиная с C++11) |
| basic_string( basic_string&& other, const Allocator& alloc ); |
(8) | (начиная с C++11) |
| basic_string( std::initializer_list<CharT> init, const Allocator& alloc = Allocator() ); |
(9) | (начиная с C++11) |
Создает новую строку с помощью различных источников данных, с возможностью использования аллокатора alloc, переданного пользователем в качестве аргумента.
1) Конструктор по умолчанию. Создает пустую строку.
2) Создает строку из символа ch, повторенного count раз.
3) Создает строку из подстроки диапазона [pos, pos+count) параметра other. Если запрашиваемая подстрока выходит за границы конца строки или если count == npos, диапазон возвращаемой подстроки будет [pos, size()). Если pos >= other.size(), будет сгенерировано исключение std::out_of_range.
4) Создает строку из первых count символов строки, на которую указывает s. s может содержать нулевые символы. s не должен быть нулевым указателем.
5) Создает строку из содержимого строки с завершающим нулем, на которую указывает s. Длина строки определяется по первому вхождению NULL. s не должен быть нулевым указателем.
6) Создает строку с содержимым диапазона [first, last).
7) Конструктор копирования. Создает строку, копируя содержимое other.
8) Конструктор перемещения. Создает строку с содержимым other, используя семантику перемещения.
9) Создает строку с содержимым списка инициализации init.
Содержание |
[править] Параметры
| alloc | - | аллокатор, который будет использован для всех выделений памяти данной строки |
| count | - | размер строки, которая будет создана |
| ch | - | символ для инициализации строки |
| first, last | - | диапазон, из которого будут скопированы символы |
| s | - | указатель на строку символов, которая будет использована в качестве источника данных для создаваемой строки |
| other | - | другая строка, которая будет использована в качестве источника данных для создаваемой строки |
| init | - | список инициализации, который будет использован в качестве источника данных для создаваемой строки |
| Требования к типам | ||
-InputIt должен соответствовать требованиям InputIterator.
| ||
[править] Сложность
1) Константная
2-4) Линейная по count
5) Линейная по длине s
6) Линейная по расстоянию между first и last
7) Линейная по размеру other
8) Константная. Линейная, если передан alloc и alloc != other.get_allocator().
9) Линейная по размеру init
[править] Пример
| Этот раздел не завершён Причина: нет примера |
[править] См. также
| назначает символы строке (public функция-член) | |
| присваивает значения строке (public функция-член) | |