Espacios de nombres
Variantes

std::unique_ptr::operator<<

De cppreference.com
 
 
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)
 
 
<tbody> </tbody>
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.

Parámetros

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

Valor de retorno

os

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.

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

Véase también

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