std::experimental::any::operator=
Von cppreference.com
< cpp | experimental | any
| any& operator=( const any& rhs ); |
(1) | (library fundamentals TS) |
| any& operator=( any&& rhs ) noexcept; |
(2) | (library fundamentals TS) |
| template< typename ValueType > any& operator=( ValueType&& rhs ); |
(3) | (library fundamentals TS) |
Weist den enthaltenen Wert zu.
1) Weist den Zustand von rhs durch Kopieren zu, als ob durch any(rhs).swap(*this).
2) Weist den Zustand von rhs durch Verschieben zu, als ob durch any(std::move(rhs)).swap(*this). rhs verbleibt nach der Zuweisung in einem gültigen, aber undefinierten Zustand.
3) Weist den Typ und Wert von rhs zu, als ob durch any(std::forward<ValueType>(rhs)).swap(*this). Wenn std::is_copy_constructible<std::decay_t<ValueType>>::value false ist, ist das Programm ill-formed. Diese Überladung nimmt nur an der Overload Resolution teil, wenn std::decay_t<ValueType> nicht derselbe Typ wie any ist.
Inhalt |
[bearbeiten] Template-Parameter
| ValueType | - | Typ des enthaltenen Wertes |
| Typanforderungen | ||
-std::decay_t<ValueType> muss die Anforderungen von CopyConstructible erfüllen. | ||
[bearbeiten] Parameter
| rhs | - | Objekt, dessen enthaltener Wert zugewiesen werden soll |
[bearbeiten] Rückgabewert
*this
[bearbeiten] Ausnahmen
1,3) Wirft bad_alloc oder eine Ausnahme, die vom Konstruktor des enthaltenen Typs geworfen wird. Wenn eine Ausnahme geworfen wird, gibt es keine Effekte (starke Ausnahmegarantie).
[bearbeiten] Siehe auch
konstruiert ein any-Objekt(public member function) |