名前空間
変種
操作

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

From cppreference.com
< cpp‎ | string‎ | char traits
static char_type*
    move( char_type* dest, const char_type* src, std::size_t count );
(C++20 以降 constexpr)

指定されたcount文字を、srcが指す文字シーケンスからdestが指す文字シーケンスにコピーします。

[srcsrc + count) および [destdest + count) の範囲が重複している場合でも、正しく動作します。

X::moveに対する文字トレイトの一般的な要件については、CharTraitsを参照してください。

目次

[編集] パラメータ

dest - コピー先の文字シーケンスへのポインタ
src - コピー元の文字シーケンスへのポインタ
count - コピーする文字数

[編集] 返り値

dest

[編集] 例外

何もスローしません。

[編集] 計算量

count に対して線形。

[編集] 不具合報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 7 C++98 コピーが正しく行われることが保証されていたのは、
[destdest + count)[srcsrc + count) が含まれる場合のみで、その逆(すなわち [srcsrc + count)[destdest + count) が含まれる場合)はそうではなかった。
逆の場合(すなわち [destdest + count)[srcsrc + count) が含まれる場合)
こちらも保証されていました。
English 日本語 中文(简体) 中文(繁體)