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 객체를 교환한다 (공개 멤버 함수) |
|---|