次の方法で共有


list::splice (STL/CLR)

ノード間のリンク Restitch。

    void splice(iterator where, list<Value>% right);
    void splice(iterator where, list<Value>% right,
        iterator first);
    void splice(iterator where, list<Value>% right,
        iterator first, iterator last);

パラメーター

  • まず
    接続する範囲の開始。

  • last
    接続する範囲の最後。

  • [right]
    から接続するコンテナー。

  • where
    コンテナーに接続するには。

解説

一つ目のメンバー関数は whereが指す被制御シーケンス内の要素の前に right によって制御されるシーケンス挿入します。また、 rightからすべての要素を削除します。(%right は thisと同じにしてください)。別の型に 1 個のリストをすべて接続するときに使用します。

2 番目のメンバー関数は right によって制御されるシーケンスの first によって指される要素を削除し、要素の前に whereが指す被制御シーケンスに挿入します。( where==first||where== ++firstが、変更は発生しません)。別の 1 種類の一覧の一つの要素を接続するときに使用します。

3 番目のメンバー関数は whereが指す被制御シーケンス内の要素の前に right によって制御されるシーケンスからの [first,last) で指定された部分範囲を挿入します。また、 rightによって制御されるシーケンスから元の部分範囲を削除します。( right==thisが、範囲 [first,last)whereによって指される要素がない場合は)。別のへの 1 回の一覧から始まる使用します。または、より多くの要素のサブシーケンスを接続するためにも。

使用例

// cliext_list_splice.cpp 
// compile with: /clr 
#include <cliext/list> 
 
int main() 
    { 
    cliext::list<wchar_t> c1; 
    c1.push_back(L'a'); 
    c1.push_back(L'b'); 
    c1.push_back(L'c'); 
 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// splice to a new list 
    cliext::list<wchar_t> c2; 
    c2.splice(c2.begin(), c1); 
    System::Console::WriteLine("c1.size() = {0}", c1.size()); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// return one element 
    c1.splice(c1.end(), c2, c2.begin()); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// return remaining elements 
    c1.splice(c1.begin(), c2, c2.begin(), c2.end()); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    System::Console::WriteLine("c2.size() = {0}", c2.size()); 
    return (0); 
    } 
 
  

必要条件

ヘッダー:<cliext/リスト>

名前空間: の cliext

参照

関連項目

list (STL/CLR)

list::assign (STL/CLR)

list::insert (STL/CLR)

list::merge (STL/CLR)