注解 (C++26 起)
来自 zh.cppreference.net
以反射可观察的方式将信息附加到声明上。
语法
注解列表在属性说明符中引入。每个注解以 = 开头。
= 常量表达式
|
|||||||||
解释
注解可应用于任何类型、类型别名、变量、函数、非 void 类型的函数参数、命名空间、枚举项、基类说明符或非静态数据成员的声明。
令 E 为 std::meta::reflect_constant(expr)(其中 expr 为 常量表达式),E 必须为常量表达式。通过调用 Estd::meta::constant_of 对注解的反射可以观察到 的结果。
注解总是彼此不同的,即使它们具有等价的值且应用于同一声明。
[[=42, =42]] int x;
static_assert(std::meta::annotations_of(^^x).size() == 2);
[[=42]] int f();
[[=24]] int f();
static_assert(std::meta::annotations_of(^^f).size() == 2);
替换到注解中不是立即上下文。
示例
| 本节内容不完整 原因:无示例 |
参阅
(C++26) |
获取应用于被反射实体的注解 (函数) |
(C++26) |
获取应用于被反射实体且具有指定类型的注解 (函数) |