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
Материал из cppreference.com
<tbody>
</tbody>
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++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 7 | C++98 | копирование гарантированно работало корректно, если src находился в[dest, dest + count), но не наоборот (т.е. dest находился в[src, src + count))
|
также гарантировано |