English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ List swap() 사용 방법 및 예제

C++ List(리스트)

C ++ List swap() 함수는 두 개의 같은 타입의 목록을 교환하지만 크기가 다를 수 있습니다.

문법

void swap(list& x);

매개변수

x:이 목록과 교환할 다른 목록입니다.

반환 값

아무 값을 반환하지 않습니다.

오류:

두 개의 목록의 타입이 모두 다를 때, 오류가 발생합니다.

예제1

두 개의 목록의 타입과 크기가 모두 같은 간단한 예제를 보겠습니다.

#include <iostream>
#include<list>
using namespace std;
int main()
{
   
    std::list<char> li={"+','-','*','@'};
    list<char> li1={'j','a','v','a'};
    std::cout << "처음에는, 목록 li의 내용은 다음과 같습니다: ";
    for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr)
    cout<<*itr;
    std::cout << '\n'<<"처음에는, 목록 li1의 내용은 다음과 같습니다: ";
    for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr)
    cout<<*itr;
    li.swap(li1);
    cout<<'\n';
    cout<<"교환 후, 목록 li의 내용은 다음과 같습니다: ";
    for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr)
    cout<<*itr;
    cout<<'\n';
    cout<<"교환 후, 목록 li1의 내용은 다음과 같습니다: ";
    for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr)
    cout<<*itr;
    return 0;
}

출력:

처음에는, 목록 li의 내용은 다음과 같습니다: +-*@
처음에는, 목록 li1의 내용은 다음과 같습니다: java
교환 후, 목록 li의 내용은 다음과 같습니다: java
교환 후, 목록 li1의 내용이 다음과 같습니다: +-*@

이 예제에서 swap() 함수는 목록 li의 내용을 목록 li1교환.

예제2

두 개의 목록이 다른 타입일 때의 간단한 예제를 보겠습니다.

#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;
}

출력:

error : no matching call for list::swap(list&).

이 예제에서 두 개의 리스트는 다른 타입입니다. 따라서 함수 swap()는 오류를 일으킵니다. 즉:list :: swap(list&)에 일치하는 호출이 없습니다.

C++ List(리스트)