最終更新日時(UTC): 2019年04月06日 04時43分30秒
Akira Takahashi が更新

履歴 編集

function
<string>

# std::char_traits::copy

    static char_type* copy(char_type* s1,
                           const char_type* s2,
                           std::size_t n);                // (1) C++03

    static constexpr char_type* copy(char_type* s1,
                                     const char_type* s2,
                                     std::size_t n);      // (1) C++20

## 概要

文字列`s1`に文字列`s2`をコピーする。

## 事前条件

範囲`[s1, s1+n)`と範囲`[s2, s2+n)`が重なっていないこと。

## 効果

範囲`[0, n)`の各`i`について、`assign(s1[i], s2[i])`を実行する。

## 戻り値

コピー完了後の`s1`を返す。

## 計算量

線形時間

## 例

    #include <iostream>
    #include <string>

    int main()
    {
      const std::size_t n = 5 + 1;
      char s[n] = "abcde";

      char result[n];
      std::char_traits<char>::copy(result, s, n);

      std::cout << result << std::endl;
    }

### 出力例

    abcde

## 参照

- P1032R1 Misc `constexpr` bits