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) перекрываются.
См. CharTraits для общих требований к характеристикам символов для X::move.
Параметры
| 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/w/cpp/string/char_traits/move