1.空的智能指针
假设如此定义typedef shared_ptr<int> IPtr; 返回为空可以设计为
IPtr f() {
return IPtr();
}
测试是否为空,一般可以使用get() 返回其包裹的原指针测试是否为空,在上面的设计中,也可以直接看 IPtr i_p = f(),用!i_p来判断是否为空
2. 类中也可以如此获得指向自己的智能指针
IPtr(this)