次の方法で共有


uninitialized_copy_n

入力反復子から、指定した数の要素のコピーを作成します。 コピーは前方反復子に格納されます。

template<class InputIterator, class Size, class ForwardIterator>
    ForwardIterator uninitialized_copy_n(
        InputIterator _First, 
        Size _Count,
        ForwardIterator _Dest
    );

パラメーター

  • _First
    コピーするオブジェクトを参照する入力反復子。

  • _Count
    オブジェクトをコピーする回数を指定する符号付きまたは符号なし整数型。

  • _Dest
    新しいコピー先を参照する前方反復子。

戻り値

ターゲットを超えた最初の位置を示す前方反復子。 ソース範囲が空であった場合、反復子は _First を指します。

解説

このテンプレート関数は、実質的に次の内容を実行します。

for (; 0 < count; -- count)

new ((void *)&*_Dest++)

iterator_traits<InputIterator>::value_type(*_First++);

return dest;

ただし、このコードが例外をスローする場合を除きます。 この場合は、構築されたオブジェクトはすべて破棄され、再度例外がスローされます。

必要条件

ヘッダー: <memory>

名前空間: std

参照

関連項目

<memory>