Namespaces
Variants

std::meta::object_of

cppreference.net에서
< cpp | meta
 
 
 
리플렉션 라이브러리
 
리플렉션 타입 및 쿼리
리플렉션 쿼리
리플렉션 레이아웃 쿼리
타입 속성
타입 속성 쿼리
 
헤더에 정의됨 <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() {}

참조

객체를 나타내는 리플렉션을 반환하며, 상수 템플릿 인수로 사용하기에 적합합니다.
(함수 템플릿)