Namespaces
Variants

std::define_static_string

De es.cppreference.net
< cpp | meta
 
 
 
Biblioteca de reflexión
Categorías de tipos primarios
Categorías de tipos compuestos
Propiedades de tipos ➜
Relaciones entre tipos
 
Tipos de reflexión y consultas
Consultas de reflexión
Consultas de diseño de reflexión
Propiedades de tipos
Consultas de propiedades de tipo
 
Definido en el encabezado <meta>
template< ranges::input_range R >
consteval const ranges::range_value_t<R>* define_static_string( R&& r );
(desde C++26)

Promueve un arreglo de caracteres a almacenamiento estático. Se añade un carácter nulo al final si r no es un objeto literal de cadena.

Equivalente a:

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

Parámetros

r - un input_range de caracteres

Valor de retorno

Un puntero al primer elemento de un objeto arreglo de caracteres que es el objeto de parámetro de plantilla con el contenido de r.

Notas

Como objeto de parámetro de plantilla, el objeto cadena resultante tiene duración de almacenamiento estática. Las cadenas con el mismo contenido corresponden al mismo objeto.

El objeto de parámetro de plantilla resultante es un objeto potencialmente no único.

Macro de prueba de característica Valor Estándar Característica
__cpp_lib_define_static 202506L (C++26) std::define_static_string

Ejemplo

Véase también

promueve un arreglo en tiempo de compilación a almacenamiento estático, devolviendo un span del arreglo estático
(plantilla de función)
promueve un valor en tiempo de compilación a almacenamiento estático, devolviendo un puntero al objeto estático
(plantilla de función)
promueve una cadena en tiempo de compilación a almacenamiento estático, devolviendo una reflexión que representa la cadena estática
(plantilla de función)