any_swap2

any_swap2 (std::any 전용 swap 함수)

이 페이지는 <any> 헤더에 정의된 std::swap 함수의 std::any 전용 오버로드에 대해 설명해요. 이 함수는 두 std::any 객체의 내용을 서로 바꾸는 역할을 해요. C++17부터 사용할 수 있어요.

출처: cppreference

본문

정의

<any> 헤더에 정의되어 있어요.

항목
함수 void swap(any& lhs, any& rhs) noexcept;
제공 시점 C++17부터

std::swap 알고리즘을 std::any에 대해 오버로드해요. 두 any 객체의 내용을 교환하며, lhs.swap(rhs)를 호출하는 것과 같아요.

매개변수

| lhs, rhs | - | 교환할 객체 |

예제

#include <any>
#include <print>
#include <string>

int main()
{
    std::any p = 42, q = std::string{"Bishop"};
    std::println("p: {}, q: {}", std::any_cast<int>(p), std::any_cast<std::string&>(q));
    std::println("swap(p, q)");
    std::swap(p, q);
    std::println("p: {}, q: {}", std::any_cast<std::string&>(p), std::any_cast<int>(q));
}

출력:

p: 42, q: Bishop
swap(p, q)
p: Bishop, q: 42

같이 보기

swap 두 any 객체를 교환한다 (공개 멤버 함수)

더 알아보기 (Learn more)

cppreference