std::char_traits<char>::move, std::char_traits<wchar_t>::move, std::char_traits<char8_t>::move, std::char_traits<char16_t>::move, std::char_traits<char32_t>::move
static char_type*
move( char_type* dest, const char_type* src, std::size_t count );
| (constexpr с C++20) |
Копирует count символов из строки символов, на которую указывает src, в строку символов, на которую указывает dest.
Корректно работает, даже если диапазоны [src, src + count) и [dest, dest + count) перекрываются.
Общие требования к характеристикам символов для X::move см. в разделе CharTraits.
Параметры
| dest | - | указатель на строку символов, в которую выполняется копирование |
| src | - | указатель на строку символов, из которой выполняется копирование |
| count | - | количество символов для копирования |
Возвращаемое значение
dest
Исключения
Не выбрасывает исключений.
Сложность
Линейная относительно count.
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющих поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| DR | Применён к | Поведение согласно опубликованной редакции | Корректное поведение |
|---|---|---|---|
| LWG 7 | C++98 | гарантировалось, что копирование выполняется корректно, еслиsrc находится в [dest, dest + count), но не наоборот (т. е. dest находится в [src, src + count)) | также гарантировалось |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/char_traits/move