std::meta::object_of
От ru.cppreference.net
| Определено в заголовочном файле <meta>
|
||
consteval std::meta::info object_of( std::meta::info r );
|
(начиная с C++26) | |
Принимает отражение переменной, возвращает отражение объекта, на который ссылается переменная.
Если r представляет объект, возвращает r.
Параметры
| r | - | отражение переменной или статического объекта |
Возвращаемое значение
Отражение объекта, на который ссылается то, что представляет r.
Исключения
Генерирует std::meta::exception, если r не представляет одно из следующего:
- объект со статической длительностью хранения;
- переменная объектного типа со статической длительностью хранения;
- переменная ссылочного типа, которая ссылается на объект со статической длительностью хранения, и либо:
- ссылка может использоваться в константном выражении, либо
- время жизни ссылки началось в рамках константного выражения ядра, которое в данный момент вычисляется.
Пример
Запустить этот код
#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() {}
См. также
(C++26) |
возвращает отражение, представляющее объект, пригодное для использования в качестве постоянного аргумента шаблона (шаблон функции) |