14
我可以使用NULL
值初始化shared_ptr
值嗎?將boost :: shared_ptr初始化爲NULL
boost::shared_ptr<Type> s_obj(NULL);
如果不是,那怎麼樣?
我可以使用NULL
值初始化shared_ptr
值嗎?將boost :: shared_ptr初始化爲NULL
boost::shared_ptr<Type> s_obj(NULL);
如果不是,那怎麼樣?
默認的建設可以實現這個要求:
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
};
這是默認的建設,即:
boost::shared_ptr<Type> s_obj;
s_obj
現在擁有一個空指針和計算結果爲布爾值false當真理測試;
這不就是默認構造嗎? – 2013-04-26 05:36:30
也nullptr比NULL更有意義如果C++ 11 – paulm 2013-04-26 09:16:34
如果我的'shared_ptr'已經指向一個對象,當我給它分配一個NULL(或'0')時,是否減少了先前對象的引用計數? – 2015-03-24 09:51:18