sábado, 5 de septiembre de 2015

Smart Pointer - unique_ptr en Visual Studio 2013

Los smart pointer o punteros inteligentes es un tipo abstracto de datos que simula el comportamiento de un puntero normal pero que añade nuevas caracteristicas, como recolector de basura automatico y comprobador de limites.

El unique_ptr es un puntero inteligente que usamos cuando se desea un puntero a un objeto que se reclama cuando ese unico puntero es destruido.

A continuacion un ejemplo


Main.cpp

//Punteros inteligentes o smart pointers 
//usando unique_ptr
#include <iostream>
#include <memory>

using namespace std;

//funcion prototipo
unique_ptr<double> triple(double);

int main()
{
 double num{5.0};

 unique_ptr<double> ptr{};
 ptr = triple(num);

 cout << "Tres veces el numero = " << 3.0 * num << endl;
 cout << "Resultado: " << *ptr << endl;

 system("pause");
}

unique_ptr<double> triple(double datos)
{
 unique_ptr<double> resultado{ new double{} };
 *resultado = 3.0 * datos;
 return resultado;
} 

No hay comentarios:

Publicar un comentario