Namespaces
Variants

voidify

De es.cppreference.net
 
 
Biblioteca de algoritmos
Algoritmos restringidos y algoritmos sobre rangos (C++20)
Algoritmos restringidos, p. ej. ranges::copy, ranges::sort, ...
Operaciones de secuencia no modificadoras    
Operaciones por lotes
(C++17)
Operaciones de búsqueda
Operaciones de secuencia modificadoras
Operaciones de copia
(C++11)
(C++11)
Operaciones de intercambio
Operaciones de transformación
Operaciones de generación
Operaciones de eliminación
Operaciones de cambio de orden
(hasta C++17)(C++11)
(C++20)(C++20)
Operaciones de muestreo
(C++17)

Operaciones de ordenación y relacionadas
Operaciones de particionado
(C++11)    

Operaciones de ordenación
Operaciones de búsqueda binaria
(en rangos particionados)
Operaciones de conjunto (en rangos ordenados)
Operaciones de fusión (en rangos ordenados)
Operaciones de montículo
Operaciones de mínimo/máximo
(C++11)
(C++17)
Operaciones de comparación lexicográfica
Operaciones de permutación


 
 
template< class T >
void* /*voidify*/( T& obj ) noexcept;
(solo para exposición*)
(constexpr desde C++17)

Retorna la dirección de obj (convertido implícitamente a void*).

Parámetros

obj - el objeto cuya dirección será tomada

Valor de retorno

& obj

(hasta C++11)

std:: addressof ( obj )

(desde C++11)

Notas

Esta plantilla de función solo de exposición es introducida por P0896R4. Se usa para describir los efectos de algoritmos <memory>especializados. El puntero de resultado se utiliza como los placement-params de una expresión de newcolocación.

Inicialmente, el valor de retorno era const_cast<void*>(static_cast<const volatile void*>(std::addressof(obj))), lo que rompe la corrección de const. Los casts explícitos fueron eliminados por la resolución de LWG issue 3870, y la única conversión restante es la conversión implícita a void*.

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3870 C++98 los casts explícitos rompían la corrección de const se eliminaron estos casts

Véase también

crea un objeto en una dirección dada
(plantilla de función & objeto función de algoritmo)
copia un rango de objetos a un área de memoria no inicializada
(plantilla de función & objeto función de algoritmo)
copia un número de objetos a un área de memoria no inicializada
(plantilla de función & objeto función de algoritmo)
copia un objeto a un área de memoria no inicializada, definida por un rango
(plantilla de función & objeto función de algoritmo)
copia un objeto a un área de memoria no inicializada, definida por un inicio y un conteo
(plantilla de función & objeto función de algoritmo)
mueve un rango de objetos a un área de memoria no inicializada
(plantilla de función & objeto función de algoritmo)
mueve un número de objetos a un área de memoria no inicializada
(plantilla de función & objeto función de algoritmo)
construye objetos mediante inicialización por defecto en un área de memoria no inicializada, definida por un rango
(plantilla de función & objeto función de algoritmo)
construye objetos mediante inicialización por defecto en un área de memoria no inicializada, definida por un inicio y un conteo
(plantilla de función & objeto función de algoritmo)
construye objetos mediante inicialización por valor en un área de memoria no inicializada, definida por un rango
(plantilla de función & objeto función de algoritmo)
construye objetos mediante inicialización por valor en un área de memoria no inicializada, definida por un inicio y un conteo
(plantilla de función & objeto función de algoritmo)