std::meta::object_of
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) |
객체를 나타내는 리플렉션을 반환하며, 상수 템플릿 인수로 사용하기에 적합합니다. (함수 템플릿) |