GeezerVison is showing cpprefjp.github.io — std::copy_n - cpprefjp C++日本語リファレンス
最終更新日時:
2026年04月13日 15時17分49秒 (JST)
teruyamato0731
が更新
履歴
編集
function template
<algorithm>
std:: copy_n (C++11)
namespace std {
template < class InputIterator , class Size , class OutputIterator >
OutputIterator
copy_n ( InputIterator first ,
Size n ,
OutputIterator result ); // (1) C++11
template < class InputIterator , class Size , class OutputIterator >
constexpr OutputIterator
copy_n ( InputIterator first ,
Size n ,
OutputIterator result ); // (1) C++20
template < class ExecutionPolicy , class ForwardIterator1 , class Size ,
class ForwardIterator2 >
ForwardIterator2
copy_n ( ExecutionPolicy && exec ,
ForwardIterator1 first ,
Size n ,
ForwardIterator2 result ); // (2) C++17
}
概要
イテレータ範囲[first, first + n) (範囲の先頭N個) の要素をコピーする。
効果
0 以上 n 未満であるそれぞれの i について、*(result + i) = *(first + i) を行う。
戻り値
result + n
計算量
正確に n 回代入が行われる。
例
出力
3
1
5
2
4
実装例
template < class InputIterator , class Size , class OutputIterator >
OutputIterator copy_n ( InputIterator first , Size n , OutputIterator result ) {
for ( Size i = 0 ; i < n ; i ++ )
* result ++ = * first ++ ;
return result ;
}
バージョン
言語
処理系
関連項目
参照