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