Let's assume we have something like this:
struct Complex{
Complex(Part1 p1, Part2 p2, Part3 p3)
}
Part1 p1;
Part2 p2;
Part3 p3;
However passing copies not effective, so we need to move to pointers. The questions is what type to use - unique_ptr
or shared_ptr
For the first view seems like Complex
is a real owner of p1, p2, p3
and unique_ptr
is better, however since it could not be copied, we need to use std::move
So my question is - what is a better way for that case, create unqiue_ptr
out of Complex
, and then use move
in Complex's
constructor, or create shared_ptr
from the beggining and use shared_ptr
instead?
Aucun commentaire:
Enregistrer un commentaire