std::meta::is_explicit
来自cppreference.com
| 在标头 <meta> 定义
|
||
| |
(C++26 起) | |
如果 r 表示显式的构造函数或转换函数,则返回 true,否则返回 false。
参数
| r | - | 一个反射值 |
返回值
如果 r 表示声明为显式的成员函数,则为 true,否则为 false。
注解
如果 r 不表示函数,则结果为 false。特别地,如果 r 表示函数模板,则结果为 false。
示例
运行此代码
#include <meta>
struct A {
explicit operator bool() const;
template<class T>
explicit(^^T == ^^void) operator T*() const;
};
static_assert(std::meta::is_explicit(^^A::operator bool));
static_assert(std::meta::is_explicit(^^A::operator void*));
static_assert(!std::meta::is_explicit(^^A::operator int*));
参阅
(C++26) |
检查反射是否表示函数 (函数) |