次の方法で共有


deque::insert (STL Samples)

Visual C++ で deque:: 挿入 の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。

iterator insert(
   iterator Iter,
   const T& x = T( )
);
void insert(
   iterator Iter,
   size_type n,
   const T& x
);
void insert(
   iterator Iter,
   const_iterator First,
   const_iterator Last
);

解説

[!メモ]

プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。

各関数はコンテナーに Iter が指す要素の後の残りのオペランドで指定されたシーケンスを挿入します。一つ目のメンバー関数は値 X を持つ一つの要素を挿入し新しく挿入される要素を指す反復子を返します。2 番目のメンバー関数は値 x.n 個の 要素の繰り返しを挿入します *。*3 番目のメンバー関数はシーケンス First[Last) を挿入します。

使用例

// insert.cpp
// compile with: /EHsc

#include <iostream>
#include <deque>

using namespace std;


typedef deque<char >  CHARDEQUE;
void print_contents (CHARDEQUE  deque);

int main()
{
    //create a with 3 A's
    CHARDEQUE  a(3,'A');

    //create b with 2 B's.
    CHARDEQUE  b(2,'B');

    //print out the contents
    print_contents (a);
    print_contents (b);

    //insert 'X' to the beginning of a
    a.insert(a.begin(),'X');
    print_contents (a);

    //insert 'Y' to the end of a
    a.insert(a.end(),'Y');
    print_contents (a);

    //inset 3 'Z's to one item before the end of a
    a.insert(a.end()-1,3,'Z');
    print_contents (a);

    //insert to the end of a from b
    a.insert(a.end(),b.begin(),b.end());
    print_contents (a);

}

//function to print the contents of deque
void print_contents (CHARDEQUE  deque)
{
    CHARDEQUE::iterator pdeque;

    cout <<"The output is: ";

    for(pdeque = deque.begin();
        pdeque != deque.end();
        pdeque++)
    {
        cout << *pdeque <<" " ;
    }
        cout<<endl;
}

出力

The output is: A A A 
The output is: B B 
The output is: X A A A 
The output is: X A A A Y 
The output is: X A A A Z Z Z Y 
The output is: X A A A Z Z Z Y B B 

必要条件

ヘッダー : <deque>

参照

概念

標準テンプレート ライブラリのサンプル