Namespaces
Variants

std::swap(std::any)

Материал из 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)
 
 
Определен в заголовке <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

Смотрите также

обменивает два any объекта
(публичная функция-член)