Namespaces
Variants

std::define_static_string

来自 zh.cppreference.net
< cpp | 元
 
 
 
反射库
 
反射类型和查询
反射查询
反射布局查询
类型属性
类型属性查询
 
定义于头文件 <meta>
template< ranges::input_range R >
consteval const ranges::range_value_t<R>* define_static_string( R&& r );
(C++26 起)

将字符数组提升至静态存储。若 r 不是字符串字面量对象,则附加一个空字符。

等价于:

return std::meta::extract<const ranges::range_value_t<R>*>(std::meta::reflect_constant_string(r));

参数

r - 一个字符的 输入范围(input_range)

返回值

指向字符数组对象首元素的指针,该对象是 模板形参对象,内容为 r。

注解

作为模板形参对象,生成的字符串对象具有静态存储期。内容相同的字符串对应同一个对象。

生成的模板形参对象是潜在非唯一对象。

功能特性测试宏 值 标准 功能特性
__cpp_lib_define_static 202506L (C++26) std::define_static_string

示例

参阅

将编译时数组提升至静态存储,返回静态数组的 span
(函数模板)
将编译时值提升至静态存储,返回指向静态对象的指针
(函数模板)
将编译时字符串提升至静态存储,返回代表该静态字符串的反射
(函数模板)