std::any::operator=
Материал из cppreference.com
<tbody>
</tbody>
any& operator=( const any& rhs ); |
(1) | (начиная с C++17) |
any& operator=( any&& rhs ) noexcept; |
(2) | (начиная с C++17) |
template<typename ValueType> any& operator=( ValueType&& rhs ); |
(3) | (начиная с C++17) |
Присваивает содержимое содержащемуся значению.
1) Присваивает, копируя состояние
rhs, как если бы any(rhs).swap(*this).2) Присваивает, перемещая состояние
rhs, как если бы any(std::move(rhs)).swap(*this). После присваивания rhs остаётся в допустимом, но неопределённом состоянии.3) Присваивает тип и значение
rhs, как если бы any(std::forward<ValueType>(rhs)).swap(*this). Эта перегрузка участвует в разрешении перегрузки, только если std::decay_t<ValueType> не того же типа, что и any и std::is_copy_constructible_v<std::decay_t<ValueType>> равно true.Параметры шаблона
| ValueType | — | тип содержащегося значения |
| Требования к типам | ||
- должен соответствовать требованиям CopyConstructible.
| ||
Параметры
| rhs | — | объект, значение, содержащееся в котором, присваивается |
Возвращаемое значение
*this
Исключения
1,3) Бросает std::bad_alloc или любое исключение, созданное конструктором содержащегося типа. Если выброшено исключение, никаких последствий не будет (сильная гарантия исключения).
Пример
| Этот раздел не завершён Причина: нет примера |
Смотрите также
создаёт объект any (public функция-элемент) |