i have class has member variables of types m , n. lifetimes of objects supposed limited lifetime of a.
i'm considering
class { m member1; n member2; }
vs.
class { std::unique_ptr<m> member1; std::unique_ptr<n> member2; }
i'm not entirely sure better, since both accomplish want. lifetime of members bound object, , don't need manually manage memory. advantages , disadvantages of each setup?
use std::unique_ptr if
- m , n base classes of polymorphic hierarchies
- member1 , member2 optional members can nullptr
- m , n large enough cannot allocated on program stack
Comments
Post a Comment