Что эквивалентно следующему:
std::vector<Foo*> vec;
vec.push_back(NULL);
при работе с boost::shared_ptr
? Это следующий код?
std::vector< boost::shared_ptr<Foo> > vec;
vec.push_back(boost::shared_ptr<Foo>());
Примечание. Я могу отбросить много таких объектов. Должен ли я объявлять глобальный статический объект nullPtr
где-нибудь? Таким образом, только один из них должен быть построен:
boost::shared_ptr<Foo> nullPtr;