Partilhar via


list::splice (STL/CLR)

Links de Restitch entre nós.

    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);

Parâmetros

  • primeiro
    Início do intervalo a emendar.

  • last
    O fim do intervalo a emendar.

  • direita
    Contêiner a emendar do.

  • onde
    Onde no contêiner emendar antes.

Comentários

A primeira função de membro inseriu a sequência controlada por right antes do elemento na sequência controlada apontado por where. Também remove todos os elementos de right. (%right não deve ser igual a this.) Use-a para emendar qualquer uma lista em outra.

A segunda função de membro removeu o elemento apontado por first na sequência controlada por right e o insere antes do elemento na sequência controlada apontado por where. (Se where == first || where == ++first, nenhuma alteração ocorre.) Você usará para emendar um único elemento de uma lista em outra.

A terceira função de membro inseriu o subintervalo designado por [first, last) de sequência controlada por right antes do elemento na sequência controlada apontado por where. Remove o subintervalo original da sequência controlada por right. (Se right == this, o intervalo [first, last) não deve incluir o elemento apontado por where.) Você usará para emendar uma subsequência de zero ou mais elementos de uma lista em outra.

Exemplo

// 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); 
    } 
 
  

Requisitos

cliext </lista deCabeçalho: >

cliext deNamespace:

Consulte também

Referência

list (STL/CLR)

list::assign (STL/CLR)

list::insert (STL/CLR)

list::merge (STL/CLR)