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) 范围中)
|
也保证会正确进行 |