I currently have something like this:
QSharedPointer<t> Qsharedfoo;
Now I have a raw pointer to foo as well called rawfoo
. How can I make foo point own the raw pointer and start pointing to it. I know in boost with shared pointers we could use boost::make_shared
how do we do it with QSharedPointer
?
I want to do something like this:
Qsharedfoo = rawfoo
You cannot, unfortunately.
You will always need to go through the constructor unlike make_shared.
It is not necessarily exception safe.
In summary, you would need to go through the constructor and operator= as follows:
or if you already have a reference to a pointer, then use the reset() method as follows:
But as mentioned in the beginning, these are not equal operations to what you are looking for.