any
class
Ein any
Objekt speichert entweder eine Instanz eines Typs, die den Konstruktoranforderungen entspricht, oder es hat keinen Wert. Ob eine gespeicherte Instanz oder kein Wert vorhanden ist, wird als Status des any
Objekts bezeichnet.
Die gespeicherte Instanz wird als enthaltener Wert bezeichnet. Zwei any
Objekte haben denselben Zustand, wenn beide keinen Wert haben oder beide einen enthaltenen Wert haben und diese Werte identisch sind.
Syntax
class any;
Member
Konstruktoren
Name | Beschreibung |
---|---|
any |
Konstruiert ein Objekt vom Typ any . |
Funktionen
Name | Beschreibung |
---|---|
emplace |
Legt einen Wert fest any . |
has_value |
Gibt zurück true , wenn any ein Wert vorhanden ist. |
reset |
Setzt ein any . |
swap |
Austausch von zwei any Objekten. |
type |
Gibt den any Typ zurück. |
Operatoren
Name | Beschreibung |
---|---|
operator= |
Ersetzt die any Kopie einer anderen any . |
any
Konstruiert ein Objekt vom Typ any
. Enthält auch einen Destruktor.
constexpr any() noexcept;
any(const any& other);
any(any&& other) noexcept;
template <class T>
any(T&& value);
template <class T, class... Args>
explicit any(in_place_type_t<T>, Args&&...);
template <class T, class U, class... Args>
explicit any(in_place_type_t<T>, initializer_list<U>, Args&&...);
~any();
emplace
Legt einen Wert fest any
.
template <class T, class... Args>
decay_t<T>& emplace(Args&& ...);
template <class T, class U, class... Args>
decay_t<T>& emplace(initializer_list<U>, Args&&...);
has_value
Gibt zurück true
, wenn das any
Objekt einen Wert aufweist.
bool has_value() const noexcept;
operator=
Ersetzt den any
Inhalt durch eine Kopie einer anderen any
.
any& operator=(const any& right);
any& operator=(any&& right) noexcept;
template <class T>
any& operator=(T&& right);
Parameter
right
Das any
Kopierte in diese any
Datei.
reset
Setzt ein any
.
void reset() noexcept;
swap
Austausch von zwei any
Objekten.
void swap(any& rhs) noexcept;
type
Gibt den any
Typ zurück.
const type_info& type() const noexcept;
Anforderungen
Header<any>:
Namespace:std
Standard: C++17 (Verwenden Sie mindestens /std:c++17
zum Kompilieren.)