Namespaces
Variants

std::any::swap

Из ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 
void swap( any& other ) noexcept;
(начиная с C++17)

Обменивает содержимое двух объектов any.

Параметры

другой - объект для обмена

Пример

#include <any>
#include <print>
#include <string>
#include <string_view>
int main()
{
    std::any a = std::string{"King"};
    std::any b = std::string_view{"Queen"};
    std::println("a = {}", std::any_cast<std::string&>(a));
    std::println("b = {}", std::any_cast<std::string_view&>(b));
    std::println("swap(a, b)");
    a.swap(b);
    std::println("a = {}", std::any_cast<std::string_view&>(a));
    std::println("b = {}", std::any_cast<std::string&>(b));
}

Вывод:

a = King
b = Queen
swap(a, b)
a = Queen
b = King