Bibliothèque de listes C ++ - fonction splice ()

La description

La fonction C ++ std::list::splice()transfère tous les éléments de la liste x à * this en utilisant la sémantique de déplacement. Le conteneur x se vide après l'opération.

Déclaration

Voici la déclaration de l'en-tête std :: list de la fonction std :: list :: splice ().

C ++ 11

void splice (const_iterator position, list&& x);

Paramètres

  • position - Position dans la liste où les nouveaux éléments à insérer.

  • x - Un autre objet de liste du même type.

Valeur de retour

Aucun

Des exceptions

Cette fonction membre ne lève jamais d'exception.

Complexité temporelle

Constante ie O (1)

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: list :: splice ().

#include <iostream>
#include <list>

using namespace std;

int main(void) {
   list<int> l1 = {1, 2, 3};
   list<int> l2 = {4, 5};

   l1.splice(l1.end(), move(l2));

   cout << "Contents of list l1 after splice operation" << endl;

   for (auto it = l1.begin(); it != l1.end(); ++it)
      cout << *it << endl;

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Contents of list l1 after splice operation
1
2
3
4
5