问题
What are the best practices for using smart. Are there situations in which i should prefer using raw pointer instead of smart pointers?
For example, if i know that class A creates class B and is the only owner of B - if there a reason to use smart pointers?
If you know of any good articles on that subject, please share.
回答1:
If the pointer owns the object at any time, then use a smart pointer.
If the pointer does not own the object (i.e. the object is owned by another smart pointer and guaranteed to outlive this pointer), use a raw pointer.
来源:https://stackoverflow.com/questions/21722788/c-11-smart-pointers-usage