std::meta::variable_of
来自 zh.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's 函数体求值的一部分。
示例
运行此代码
#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) |
获取反射函数的参数 (函数) |