std::meta::reflect_constant_string
来自 zh.cppreference.net
| 定义于头文件 <meta>
|
||
template< ranges::input_range R >
consteval std::meta::info reflect_constant_string( R&& r );
|
(C++26 起) | |
返回一个表示字符数组对象的反射,该对象的元素对应于 r 的对应元素,并在 r 不是字符串字面量对象时附加一个空字符。
生成的字符数组对象是一个 模板参数对象:它具有静态存储期,并且内容相同的字符串对应同一个对象。
生成的字符数组对象也是一个 可能非唯一对象。
正式地,设:
CharT为ranges::range_value_t<R>,它必须是char、wchar_t、char8_t、char16_t或char32_t之一。V为类型CharT的值包,其元素对应于r的对应元素,除非r是字符串字面量对象,此时V不包含r的结尾空字符。P为类型 的模板参数对象,以const CharT[sizeof...(V) + 1]初始化{V..., CharT()}。
此函数返回一个表示对象 P 的反射。
参数
| r | - | 一个 input_range 的字符 |
返回值
一个表示字符数组对象的反射,如前所述。
注解
std::meta::reflect_constant_string 的结果适合与 std::meta::substitute 一起使用。如果调用者想要一个指向静态字符串的指针,而不是一个反射值,通常 std::define_static_string 更为合适。
示例
| 本节未完成 原因:暂无示例 |
参阅
(C++26) |
将编译期字符串提升到静态存储,返回指向静态字符串首字符的指针 (函数模板) |
(C++26) |
将编译期数组提升到静态存储,返回表示静态数组的反射 (函数模板) |
(C++26) |
返回表示值或 模板参数对象的反射,适合用作常量模板实参 (函数模板) |