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 функция-член) | |


