Пространства имён
Варианты
Действия

std::basic_string::basic_string

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-члены
basic_string::basic_string
Доступ к элементам
Итераторы
Вместимость
 
explicit basic_string( const Allocator& alloc = Allocator() );
(1)
basic_string( size_type count,

              CharT ch,

              const Allocator& alloc = Allocator() );
(2)
basic_string( const basic_string& other,

              size_type pos,
              size_type count = std::basic_string::npos,

              const Allocator& alloc = Allocator() );
(3)
basic_string( const CharT* s,

              size_type count,

              const Allocator& alloc = Allocator() );
(4)
basic_string( const CharT* s,
              const Allocator& alloc = Allocator() );
(5)
template< class InputIt >

basic_string( InputIt first, InputIt last,

              const Allocator& alloc = Allocator() );
(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 функция-член) [править]