std::define_static_string

来自cppreference.com
< cpp | meta
 
 
元编程库
类型特征
类型类别
(C++11)
(C++11)(DR*)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11) 
(C++11)
(C++11)
类型属性
(C++11)
(C++11)
(C++14)
(C++11)(C++26 弃用)
(C++11)(C++20 前*)
(C++11)(C++20 弃用)
(C++11)
类型特征常量
元函数
(C++17)
受支持操作
关系与属性查询
类型修改
(C++11)(C++11)(C++11)
类型变换
(C++11)(C++23 弃用)
(C++11)(C++23 弃用)
(C++11)
(C++11)(C++20 前*)(C++17)

(C++11)
(C++17)
编译时有理数算术
编译时整数序列
 
在标头 <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

返回值

指向字符数组对象首元素的指针,该字符数组对象是一个模板形参对象

注解

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

结果模板形参对象是一个可能非唯一的对象

示例

参阅

将编译期数组提升为静态存储,返回静态数组的跨度。
(函数模板) [编辑]
将编译期值提升为静态存储,返回指向该静态对象的指针。
(函数模板) [编辑]
将编译期字符串提升为静态存储,返回表示该静态字符串的反射。
(函数模板) [编辑]