std::meta::has_c_language_linkage
来自 zh.cppreference.net
|
定义于头文件 <meta>
|
||
consteval bool has_c_language_linkage( std::meta::info r );
|
(自C++26) | |
确定 r 是否表示带有 "C" 语言链接 (extern "C") 的变量、函数或函数类型。如果是则返回 true,否则返回 false。
参数
| r | - | 一个反射值 |
返回值
true如果 r 所表示的内容具有 "C" 语言链接,则为 true,否则为 false。
注解
如果 r 不表示变量、函数或函数类型(例如,如果 r 表示函数模板),则结果为 false。
示例
运行此代码
#include <meta>
extern "C" void foo();
static_assert(std::meta::has_c_language_linkage(^^foo) == true);
void moo();
static_assert(std::meta::has_c_language_linkage(^^moo) == false);
template<typename T>
T boo();
static_assert(std::meta::has_c_language_linkage(^^boo) == false);
int main() {}
参阅
| 检查反射的实体是否具有 链接 (函数) |