次の方法で共有


deque::assign と deque::swap

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

void assign(
   const_iterator First,
   const_iterator Last
);
void assign(
   size_type n,
   const T& x = T( )
);
void swap(
   deque& Dq
);

解説

[!メモ]

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

割り当て の一つ目のメンバー関数はシーケンス First[Last) *this 制御シーケンスを置き換えます。 割り当て の 2 番目のメンバー関数は値 x.n 個の 要素の繰り返しの順序を制御 this を置き換えます *。*swap のメンバー関数はコンテンツを *this との間 Dq します。

使用例

// deque.cpp
// compile with: /EHsc
//
// Functions:
//
//    assign
//    swap
//    begin
//    end

#include <iostream>
#include <deque>

using namespace std;


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

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

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

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

    //swap a and b
    a.swap(b);
    print_contents (a,"a");
    print_contents (b,"b");

    //swap it back
        a.swap(b);
    print_contents (a,"a");
    print_contents (b,"b");

    //assign the contents of b to a
    a.assign(b.begin(),b.end());
    print_contents (a,"a");

    //assign the first two items of b to a
    a.assign(b.begin(),b.begin()+2);
    print_contents (a,"a");

    //assign 3 'Z's to a
    a.assign(3,'Z');
    print_contents (a,"a");

    }

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

    cout <<"The contents of "<< name <<" : ";

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

出力

The contents of a : A A A 
The contents of b : B B B B 
The contents of a : B B B B 
The contents of b : A A A 
The contents of a : A A A 
The contents of b : B B B B 
The contents of a : B B B B 
The contents of a : B B 
The contents of a : Z Z Z 

必要条件

ヘッダー : <deque>

参照

概念

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