c++ boost smart-pointers multiple-constructors

c++ - Valor predeterminado para boost:: shared_ptr en el constructor de clase



smart-pointers multiple-constructors (2)

#include <boost/make_shared.hpp> A(int a, boost::shared_ptr<int> ptr = boost::make_shared<int>())

Consulte http://www.boost.org/doc/libs/1_43_0/libs/smart_ptr/make_shared.html

Supongamos que tengo clase como

class A{ public: A(int a, boost::shared_ptr<int> ptr){ // whatever! } };

Mi pregunta es, ¿cuál es el valor predeterminado para ese ptr? Me gustaría poder crear una instancia de esa clase usando

A myA(5);

Seguro que sé que podría crear otro constructor con solo un parámetro, pero estoy buscando algo así como

A(int a, boost::shared_ptr<int> ptr = WAT?)

¿Es posible? Actualmente estoy usando la forma de dos constructores, pero sería genial hacerlo de esta manera.


Finalmente lo encontré aquí , puedo usar el constructor predeterminado del puntero compartido de esta manera:

A(int a, boost::shared_ptr<int> ptr = boost::shared_ptr<int>())