std::meta::parameters_of
来自cppreference.com
| 在标头 <meta> 定义
|
||
| |
(C++26 起) | |
如果 r 表示一个函数,则返回一个包含其函数形参的反射的 vector。如果 r 表示一个函数类型,则返回一个包含其形参类型的反射的 vector。
在这两种情况下,vector 中的元素都按照形参出现的顺序排列。
参数
| r | - | 表示函数或函数类型的反射 |
返回值
一个包含反射的 std::vector。
异常
如果 r 不表示函数或函数类型,则抛出 std::meta::exception。
注解
可以查询函数形参的反射以获取形参的类型、标识符(如果有)以及标注列表。要获取函数体内形参变量的值,请参阅 std::meta::variable_of。
形参的类型(由 std::meta::type_of 返回)是不带 cv 限定的,这可能与对应变量的类型不同:
void f(const int x)
{
constexpr auto rp = std::meta::parameters_of(^^f)[0];
static_assert(std::meta::type_of(rp) == ^^int);
constexpr auto rv = std::meta::variable_of(rp);
static_assert(&[:rv:] == &x);
static_assert(std::meta::type_of(rv) == ^^const int);
}
示例
| 本节未完成 原因:暂无示例 |
参阅
| 本节未完成 |