公共靜態成員函式
<string>

std::char_traits::move

static char_type* move (char_type* dest, const char_type* src, size_t n);
移動字元序列
src指向的n個字元的序列複製到dest指向的陣列,即使範圍重疊。

所有字元特徵型別都應實現該函式,就像使用成員賦值分配單個字元一樣。

引數

dest
指向寫入複製字元的陣列的指標。
src
指向包含要複製的n個字元的陣列的指標。
n
要複製的字元數。

請注意,該函式將認為destsrc序列的長度均為n個字元,而不管它們是否包含空字元。
成員型別char_type字元型別(即,char_traits 中的類模板引數)。
size_t 是一個無符號整數型別。

返回值

返回dest

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// char_traits::move
#include <iostream>   // std::cout
#include <string>     // std::char_traits

int main ()
{
  char foo[] = "---o............";
  std::cout << foo << '\n';
  std::char_traits<char>::move (foo+3,foo,4);
  std::cout << foo << '\n';
  std::char_traits<char>::move (foo+6,foo,7);
  std::cout << foo << '\n';
  return 0;
}

輸出
---o............
------o.........
------------o...


複雜度

n成線性關係。

異常安全

除非destsrc未指向足夠長的陣列,否則此成員函式永遠不會在任何標準專業化中引發異常(無丟擲保證)。
否則,將導致未定義行為

另見