标注 (C++26 起)
来自cppreference.com
以反射可观测的方式将信息附加到声明上。
语法
标注列表在属性说明符中引入。每个标注以 = 开头。
= 常量表达式
|
|||||||||
解释
标注可以应用于任何类型、类型别名、变量、函数、非 void 类型的函数形参、命名空间、枚举项、基类说明符或非静态数据成员的声明。
设 E 为 std::meta::reflect_constant(expr)(其中 expr 为 常量表达式),则 E 必须是常量表达式。可以通过对标注的反射调用 std::meta::constant_of 来观测 E 的结果。
标注之间总是互不相同的,即使它们具有等价的值且应用于同一个声明也是如此。
[[=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);
替换到标注中不属于立即语境。
示例
| 本节未完成 原因:暂无示例 |
参阅
| |||