std::shared_ptr<T>::pointer_cast
Template:cpp/memory/shared ptr/sidebar Template:ddcl list begin <tr class="t-dcl ">
<td ><td > (1) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">
<td ><td > (2) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">
<td ><td > (3) </td> <td > (since C++11) </td> </tr>
Template:ddcl list end
Will return a new instance of Template:cpp with a casted managed object type from the r
's managed objet type. Both smart pointers will share the ownership of the managed object.
The resulting Template:cpp's managed object will be obtained by calling (in respective order):
1) static_cast<T*>(r.get())
.
2) dynamic_cast<T*>(r.get())
(If the result of the dynamic_cast
is 0, the returned shared_ptr will be empty).
3) const_cast<T*>(r.get())
.
In all case, if the parameter r
is an empty Template:cpp the result will be a new empty Template:cpp.
Parameters
This section is incomplete |