Espacios de nombres
Variantes
Acciones

std::unique_ptr::operator<<

De cppreference.com
< cpp‎ | memory‎ | unique ptr
 
 
Biblioteca de servicios
 
Gestión de memoria dinámica
Punteros inteligentes
(C++11)
(C++11)
(C++11)
(hasta C++17)
(C++11)
(C++23)
Asignadores de memoria
Recursos de memoria
Almacenamiento no inicializado
Algoritmos de memoria no inicializada
Algoritmos restringidos de memoria no inicializada
Apoyo para recolección de basura
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
Misceláneos
(C++20)
(C++11)
(C++11)
 
 
template <class CharT, class Traits, class Y, class D>

std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& os,

                                              const std::unique_ptr<Y, D>& p);
(desde C++20)

Inserta el valor del puntero gestionado por p en el flujo de salida os.

Equivalente a os << p.get().

Esta sobrecarga solo participa en la resolución de sobrecargas si os << p.get() es una expresión válida.

Contenido

[editar] Parámetros

os - Un std::basic_ostream en el que insertar p.
p - El puntero a ser insertado en os.

[editar] Valor de retorno

os

[editar] Notas

Si std::unique_ptr<Y, D>::pointer es un puntero de tipo carácter (p. ej., cuando Y es char o char[] o CharT), esto puede terminar llamando las sobrecargas de operator<< para cadenas de caracteres terminadas en nulo (causando un comportamiento no definido si el puntero de hecho no apunta a dicha cadena), en lugar de la sobrecarga para imprimir el valor del propio puntero.

[editar] Ejemplo

#include <iostream>
#include <memory>
 
class Foo {};
 
int main()
{
    auto p = std::make_unique<Foo>();
    std::cout << p << '\n';
    std::cout << p.get() << '\n';
}

Posible salida:

0x6d9028
0x6d9028

[editar] Véase también

Devuelve un puntero al objeto gestionado.
(función miembro pública) [editar]