std::meta::variable_of - cppreference.com
来自cppreference.com
consteval std::meta::info variable_of( std::meta::info r ); |
(C++26 起) | |
给定一个表示函数形参的反射 r,返回一个表示函数定义中对应变量的反射。
参数
| r | - | 一个表示函数形参的反射(即某个表示函数 rf 的 std::meta::parameters_of(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:]; // 错误:不能拼接形参的反射 const int& x = [:std::meta::variable_of(rp):]; // OK,x 指代 int_arg std::println("{}", x); } int main() { f(42); }
输出: