[英]Initialize a boost::shared_ptr to NULL
我可以用NULL
值初始化shared_ptr
吗?
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.