Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API