「std::vector::insert」の版間の差分
提供: C++入門
(ページの作成:「std::vector::insert とは、std::vectorに要素を追加するメンバ関数の1つです。他の方法は、std::vector::push_backです。[[std::vec...」) |
(→関連項目) |
||
行94: | 行94: | ||
* [[std::vector]] | * [[std::vector]] | ||
* [[std::vector::push_back]] | * [[std::vector::push_back]] | ||
− | * [[std::vector:: | + | * [[std::vector::erase]] |
* [[auto]] | * [[auto]] | ||
* [[C++11]] | * [[C++11]] | ||
<!-- vim: filetype=mediawiki --> | <!-- vim: filetype=mediawiki --> |
2013年12月28日 (土) 15:39時点における版
std::vector::insert とは、std::vectorに要素を追加するメンバ関数の1つです。他の方法は、std::vector::push_backです。std::vector::insertを利用して、vectorを連結することもできます。
読み方
- std::vector::insert
- えすてぃーでぃー べくたー いんさーと
目次
概要
// single element (1) iterator insert (const_iterator position, const value_type& val); // fill (2) iterator insert (const_iterator position, size_type n, const value_type& val); // range (3) template <class InputIterator> iterator insert (const_iterator position, InputIterator first, InputIterator last); // move (4) iterator insert (const_iterator position, value_type&& val); // initializer list (5) iterator insert (const_iterator position, initializer_list<value_type> il);
vector_insert1.cpp の例
ソースコード vector_insert1.cpp
#include <iostream> #include <vector> using namespace std; int main(int argc, char const* argv[]) { vector<int> v(3, 100); // 100,100,100 vector<int>::iterator it; it = v.begin(); // 先頭のイテレータを取得 it = v.insert(it,200); //先頭に200を追加 v.insert(it,2,300); // 先頭に300,300を追加 vector<int> v2{503,502,501}; v.insert(v.begin(), v2.begin(), v2.end()); // 先頭にv2を追加 for(auto i: v) { cout << i << " "; } cout << endl; return 0; }
コンパイル
g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ -Wl,-rpath=/usr/local/lib/gcc49 vector_insert1.cpp -o vector_insert1
実行例
% ./vector_insert1 503 502 501 300 300 200 100 100 100
vectorにvectorを連結する例
ソースコード vector_add_vector1.cpp
#include <iostream> #include <vector> using namespace std; int main(int argc, char const* argv[]) { vector<int> v1{1,2,3}, v2{4,5,6}; v1=v1+v2; v1.insert(v1.end(), v2.begin(), v2.end()); for(auto i: v1) { cout << i << " "; } cout << endl; return 0; }
コンパイル
g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ -Wl,-rpath=/usr/local/lib/gcc49 vector_add_vector1.cpp -o vector_add_vector1
実行例
% ./vector_add_vector1 1 2 3 4 5 6