English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ A função swap() da lista troca dois vetores de tipos iguais, mas pode ter tamanhos diferentes.
void swap(list& x);
x:Esta é outra lista a ser trocada com a lista fornecida.
Ele não retorna nenhum valor.
Quando os tipos dos dois vetores não são iguais, será gerado um erro.
Vamos ver um exemplo simples, onde os tipos e tamanhos dos dois vetores são iguais.
#include ioutre #include<list> using namespace std; int main() { std::list<char> li={'+','-','*','@'}; list<char> li1={'j','a','v','a'}; std::cout << "Inicialmente, o conteúdo da lista li é :"; for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; std::cout << 'n' << "Inicialmente, a lista li1o conteúdo é :"; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; li.swap(li1); cout << '\n'; cout<<"Após a troca, o conteúdo da lista li é :"; for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; cout << '\n'; cout<<"Após a troca, a lista li1o conteúdo é :"; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; return 0; }
Saída:
Inicialmente, o conteúdo da lista li é : +-*@ Inicialmente, a lista li1o conteúdo é : Após a troca, o conteúdo da lista li é : Após a troca, a lista li1o conteúdo é : +-*@
Neste exemplo, a função swap() troca o conteúdo da lista li com a lista li1Troca.
Vamos ver um exemplo simples, quando dois vetores são de tipos diferentes.
#include ioutre #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; }
Saída:
error: não há chamada correspondente para list::swap(list&).
Neste exemplo, duas listas são de tipos diferentes. Portanto, a função swap() causará um erro, ou seja: list :: swap (list&) não tem chamada correspondente.