vector::insert
요소 또는 요소 수가 요소 범위 벡터 지정 된 위치에 삽입합니다.
iterator insert(
const_iterator _Where,
const Type& _Val
);
iterator insert(
const_iterator _Where,
Type&& _Val
);
void insert(
const_iterator _Where,
size_type _Count,
const Type& _Val
);
template<class InputIterator>
void insert(
const_iterator _Where,
InputIterator _First,
InputIterator _Last
);
매개 변수
Parameter |
설명 |
_Where |
벡터의 첫 번째 요소가 삽입 된 위치입니다. |
_Val |
벡터에 삽입할 요소의 값입니다. |
_Count |
벡터에 삽입할 요소 수입니다. |
_First |
복사할 요소의 범위에 있는 첫 번째 요소의 위치입니다. |
_Last |
복사할 요소의 범위를 벗어나는 첫 번째 요소의 위치입니다. |
반환 값
처음 두 insert 함수는 새 요소를 삽입 된 위치를 가리키는 반복기를 반환 합니다.
설명
삽입 작업 비쌉니다, 볼 수 있습니다 벡터 클래스 토론에 대 한 vector 성능.
예제
// vector_insert.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
vector <int> v1;
vector <int>::iterator Iter;
v1.push_back( 10 );
v1.push_back( 20 );
v1.push_back( 30 );
cout << "v1 =" ;
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
v1.insert( v1.begin( ) + 1, 40 );
cout << "v1 =";
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
v1.insert( v1.begin( ) + 2, 4, 50 );
cout << "v1 =";
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
v1.insert( v1.begin( )+1, v1.begin( )+2, v1.begin( )+4 );
cout << "v1 =";
for (Iter = v1.begin( ); Iter != v1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
// initialize a vector of vectors by moving v1
vector < vector <int> > vv1;
vv1.insert( vv1.begin(), move( v1 ) );
if ( vv1.size( ) != 0 && vv1[0].size( ) != 0 )
{
vector < vector <int> >::iterator Iter;
cout << "vv1[0] =";
for (Iter = vv1[0].begin( ); Iter != vv1[0].end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
}
}
요구 사항
헤더: <vector>
네임 스페이스: std