Freigeben über


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 anyDatei.

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.)

Siehe auch

<any>
any_cast
make_any
swap
bad_any_cast