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>())