Namespaces
Variants

std::meta::object_of

Von de.cppreference.net
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexionslayout-Abfragen
Typeigenschaften
Typeigenschaftsabfragen
 
Definiert in Header <meta>
consteval std::meta::info object_of( std::meta::info r );
(seit C++26)

Gegeben eine Reflexion einer Variablen, gibt eine Reflexion des Objekts zurück, auf das die Variable verweist.

Falls r ein Objekt darstellt, gibt r zurück.

Parameter

r - eine Reflexion einer Variablen oder eines statischen Objekts

Rückgabewert

Eine Reflexion des Objekts, auf das das von r Dargestellte verweist.

Ausnahmen

Wirft std::meta::exception, es sei denn, r stellt eines der Folgenden dar:

  • ein Objekt mit statischer Speicherdauer;
  • eine Variable vom Objekttyp mit statischer Speicherdauer;
  • eine Variable vom Referenztyp, die auf ein Objekt mit statischer Speicherdauer verweist, und entweder:
  • die Referenz ist in einem konstanten Ausdruck verwendbar, oder
  • die Lebensdauer der Referenz begann innerhalb des konstanten Kernausdrucks, der derzeit ausgewertet wird.

Beispiel

#include <meta>

int x;
int& y = x;

// x and y are different variables:
static_assert(^^x != ^^y);

// x and y refer to the same object:
static_assert(std::meta::object_of(^^x) == std::meta::object_of(^^y));

int main() {}

Siehe auch

gibt eine Reflexion zurück, die ein Objekt darstellt, geeignet zur Verwendung als konstantes Template-Argument
(Funktions-Template)