English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ La fonction swap() de List échangera deux listes du même type, mais dont la taille peut être différente.
void swap(list& x);
x:C'est une autre liste à échanger avec la liste donnée.
Il ne retourne aucune valeur.
Lorsque les types de deux listes ne sont pas les mêmes, une erreur se produira.
Laissez-nous voir un exemple simple où les types et la taille de deux listes sont les mêmes.
#include iostream> #include<list> using namespace std; int main() { std::list<char> li={"+,'-,'*,'@\'}; list<char> li1={\'j','a','v','a'}; std::cout << "Au début, le contenu de la liste li est : "; for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; std::cout << \n << "Au début, la liste li1le contenu est : "; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; li.swap(li1); cout<<'\n'; cout<<"Après l'échange, le contenu de la liste li for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; cout<<'\n'; cout<<"Après l'échange, la liste li1le contenu est : "; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; return 0; }
Sortie :
Au début, le contenu de la liste li est : +-*@ Au début, la liste li1le contenu est : java Après l'échange, le contenu de la liste li est : java Après l'échange, le contenu de la liste li1le contenu est : +-*@
Dans cet exemple, la fonction swap() échangera le contenu de la liste li avec la liste li1Échange.
Laissez-nous voir un exemple simple, lorsque deux listes sont de types différents.
#include iostream> #include<list> using namespace std; int main() { std::list<char> li={'P','H','P'}; list<int> li1={1,2,3}; li.swap(li1); cout<<'\n'; return 0; }
Sortie :
error : pas de correspondance d'appel pour list::swap(list&).
Dans cet exemple, les deux listes sont de types différents. Par conséquent, la fonction swap() entraînera une erreur, à savoir : list :: swap(list&) n'a pas de correspondance d'appel.