Инициализировать boost:: shared_ptr до NULL Можно ли инициализировать shared_ptr значением NULL? boost::shared_ptr<Type> s_obj(NULL); Если нет, то как? Ответ 1 Конструкция по умолчанию делает это для вас: template<class T> class shared_ptr { public: explicit shared_ptr(T * p = 0): px(p) { //Snip } //... private: T * px; // contained pointer count_type * pn; // ptr to reference counter }; Ответ 2 Это конструкция по умолчанию, т.е.: boost::shared_ptr<Type> s_obj; s_obj теперь содержит нулевой указатель и оценивает значение boolean false при проверке правды;
Ответ 1 Конструкция по умолчанию делает это для вас: template<class T> class shared_ptr { public: explicit shared_ptr(T * p = 0): px(p) { //Snip } //... private: T * px; // contained pointer count_type * pn; // ptr to reference counter };
Ответ 2 Это конструкция по умолчанию, т.е.: boost::shared_ptr<Type> s_obj; s_obj теперь содержит нулевой указатель и оценивает значение boolean false при проверке правды;