std::meta::object_of
Von de.cppreference.net
| 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
Diesen Code ausführen
#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
(C++26) |
gibt eine Reflexion zurück, die ein Objekt darstellt, geeignet zur Verwendung als konstantes Template-Argument (Funktions-Template) |