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
< cpp | string | char traits
static char_type* move( char_type* dest, const char_type* src, std::size_t count ); |
(C++20 起 constexpr) | |
从 src 指向的字符串复制 count 个字符到 dest 指向的字符串。
即使范围 [
src,
src + count)
和 [
dest,
dest + count)
重叠,复制也会正确进行。
对字符特性的关于 X::move
的通用要求参考字符特性 (CharTraits) 。
参数
dest | - | 指向要复制的字符串的指针 |
src | - | 指向复制来源的字符串的指针 |
count | - | 要复制的字符数 |
返回值
dest
异常
不抛出。
复杂度
与 count 成线性。
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 7 | C++98 | 当 src 在 [ dest, dest + count) 范围中时复制保证会正确进行,但反之不能(即 dest 在 [ src, src + count) 范围中)
|
也保证会正确进行 |