std::meta::variable_of
cppreference.net에서
| 헤더에 정의됨 <meta>
|
||
consteval std::meta::info variable_of( std::meta::info r );
|
(C++26부터) | |
함수 매개변수를 나타내는 리플렉션 r이 주어지면, 함수 정의에서 해당하는 변수를 나타내는 리플렉션을 반환합니다.
매개변수 값
| r | - | 함수 매개변수를 나타내는 리플렉션 (즉, std::meta::parameters_of(rf)의 요소로, rf은 함수를 나타냅니다) |
반환값
r이 나타내는 함수 매개변수에 해당하는 변수를 나타내는 리플렉션.
예외
다음 조건을 충족하지 않으면 std::meta::exception을 던집니다:
r이 함수 F의 매개변수를 나타내고,variable_of에 대한 호출이 F'의 함수 본문 평가의 일부입니다.
예제
이 코드 실행
#include <meta>
#include <print>
void f(int int_arg)
{
constexpr auto rp = std::meta::parameters_of(^^f)[0];
// const int& x = [:rp:]; // error: cannot splice the reflection of a parameter
const int& x = [:std::meta::variable_of(rp):]; // OK, x refers to int_arg
std::println("{}", x);
}
int main()
{
f(42);
}
출력:
42
참고 항목
(C++26) |
반영된 함수의 매개변수를 가져옵니다. (함수) |