std::static_pointer_cast, std::dynamic_pointer_cast, std::const_pointer_cast
2014-07-05 21:07
489 查看
std::static_pointer_cast,
std::dynamic_pointer_cast,
std::const_pointer_cast
C++Utilities library
Dynamic memory management
std::shared_ptr
template< class T, class U > shared_ptr<T> static_pointer_cast( const shared_ptr<U>& r ); | (1) | (since C++11) |
template< class T, class U > shared_ptr<T> dynamic_pointer_cast( const shared_ptr<U>& r ); | (2) | (since C++11) |
template< class T, class U > shared_ptr<T> const_pointer_cast( const shared_ptr<U>& r ); | (3) | (since C++11) |
r's managed object type using a cast expression. Both smart pointers will share the ownership of the managed object.
The resulting std::shared_ptr'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_castis 0, the returned shared_ptr will be empty).
3)
const_cast<T*>(r.get()).
In any case, if the parameter
ris an empty std::shared_ptr the result will be a new empty
std::shared_ptr.
Parameters
r | - | The pointer to convert |
Exceptions
noexcept specification:noexcept
相关文章推荐
- boost::static_pointer_cast、boost::dynamic_pointer_cast和boost::const_pointer_cast
- 区别:static _cast、dynamic _cast、reinterpret_cast和const_cast
- static_cast, dynamic_cast, const_cast探讨
- static_cast、dynamic_cast、const_cast和reinterpret_cast总结
- C++中static_cast, dynamic_cast, const_cast探讨
- 转载-static_cast, dynamic_cast, const_cast,reinpreter_cast探讨
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- c++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast
- static_cast、dynamic_cast、reinterpret_cast、和const_cast(转)
- static_cast, dynamic_cast, reinpreter_cast, const_cast (C++类型转换)详解
- static_cast, dynamic_cast, const_cast探讨
- C++中的类型转换(static_cast、const_cast、dynamic_cast、reinterpret_cast)
- static_cast、dynamic_cast reinterpret_cast和const_
- static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
- 总结C++中的所有强制转换函数(const_cast,reinterpret_cast,static_cast,dynamic_cast)
- const_cast、static_cast、reinterpret_cast、dynamic_cast
- static_cast、dynamic_cast reinterpret_cast和const_cast
- C++中的static_cast,dynamic_cast,const_cast,reinterpret_cast
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast