所以,在使用std::unique_ptr的情况下,不需要显式调用delete。当std::unique_ptr超出范围时,它会自动...
R.21:不需要共享所有权时应该使用unique_ptr而不是shared_ptr Reason(原因) unique_ptr从概念上更简单,动作更加可预见(你知道析构动作什么时候发生)而且更快(不需要隐式维护使用计数)。 Example, bad(反面示例) 不必要地增加和维护参照计数。 voidf(){ shared_ptr<Base> base =make_shared<Derived>();// u...
我使用自定义删除来快速 Package C-API,例如,帮助我使用OpenSSL:
unique_ptr base = make_unique(); // use base locally } // destroy base Enforcement(实施建议) (简单)如果函数使用shared_ptr管理其内局部分配的对象,但是从来没有返回该智能指针或者将其传递个一个需要shared_ptr&的函数,发出警告。建议使用unique_ptr。 “C++什么时候使用unique_ptr而不是shared_ptr”的内...