我第一次在 C++ 中使用智能指针。我有一些问题std::shared_ptr
:
通过引用设置指针:
MyToy mytoy_1, mytoy_2; set_mytoy(mytoy_1, some_data); set_mytoy(mytoy_2, some_data); shared_ptr<MyToy> ptr_mytoy(&mytoy_1);
重置和新分配:
ptr_mytoy.reset(&mytoy_2);
无赋值重置:
ptr_mytoy.reset();
设置
NULL
(?):ptr_mytoy(nullptr);
这些例子对吗?
如何检查智能指针是否为“空”(例如,之后.reset()
)或是否为NULL
?