Namespaces
Variants

std::define_static_object

De es.cppreference.net
< cpp | meta
 
 
 
Biblioteca de reflexión
 
Tipos y consultas de reflexión
Consultas de reflexión
Consultas de diseño de reflexión
Propiedades de tipo
Consultas de propiedad de tipo
 
Definido en el encabezado <meta>
template< class T >
consteval const remove_cvref_t<T>* define_static_object( T&& t );
(desde C++26)

Promueve el valor al almacenamiento estático.

Equivalente a:

using U = std::remove_cvref_t<T>;
if constexpr (std::meta::is_class_type(^^U) || std::meta::is_union_type(^^U))
{
    std::meta::info obj = std::meta::reflect_constant(std::forward<T>(t));
    return std::addressof(std::meta::extract<const U&>(obj));
}
else if constexpr (std::meta::is_array_type(^^U))
{
    std::meta::info obj = std::meta::reflect_constant_array(std::forward<T>(t));
    return std::addressof(std::meta::extract<const U&>(obj));
}
else
{
    return std::define_static_array(std::span(std::addressof(t), 1)).data();
}

Parámetros

t - un valor de tipo estructural

Valor de retorno

Un puntero al objeto parámetro de plantilla con valor t.

Notas

Como objeto parámetro de plantilla, el objeto resultante tiene duración de almacenamiento estático. Equivalente de argumento de plantilla valores corresponden al mismo objeto.

El objeto resultante es un objeto potencialmente no único si std::remove_cvref_t<T> es un tipo escalar.

Si t es un objeto parámetro de plantilla, el resultado apunta al mismo objeto.

Macro de prueba de características Valor Est. Característica
__cpp_lib_define_static 202506L (C++26) std::define_static_object

Ejemplo

Véase también

promueve un arreglo en tiempo de compilación al almacenamiento estático, devolviendo un span del arreglo estático
(plantilla de función)
promueve una cadena en tiempo de compilación al almacenamiento estático, devolviendo un puntero al primer carácter de la cadena estática
(plantilla de función)
devuelve una reflexión que representa un valor o objeto parámetro de plantilla, adecuado para usar como argumento de plantilla constante
(plantilla de función)