std::static_pointer_cast, std::dynamic_pointer_cast, std::const_pointer_cast

来自cppreference.com
< cpp‎ | memory‎ | shared ptr

 
 
 
 
std::shared_ptr
成员函数
原文:
Member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
修饰符
原文:
Modifiers
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
观察员
原文:
Observers
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
非成员函数
原文:
Non-member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
static_pointer_castdynamic_pointer_castconst_pointer_cast
 
template< class T, class U >
shared_ptr<T> static_pointer_cast( const shared_ptr<U>& r );
(1) (C++11 起)
template< class T, class U >
shared_ptr<T> dynamic_pointer_cast( const shared_ptr<U>& r );
(2) (C++11 起)
template< class T, class U >
shared_ptr<T> const_pointer_cast( const shared_ptr<U>& r );
(3) (C++11 起)
std::shared_ptr铸造r的管理对象类型的管理对象类型将返回一个新的实例。这两个智能指针共享所有权的管理对象.
原文:
Will return a new instance of std::shared_ptr with a casted managed object type from the r's managed object type. Both smart pointers will share the ownership of the managed object.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
将获得由呼叫(在各自的顺序排列):std::shared_ptr的管理对象
原文:
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())dynamic_cast的结果,如果是0,则返回的shared_ptr的将是空的).
原文:
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()).
在任何情况下,如果参数r是一个空std::shared_ptr的结果将是一个新的空std::shared_ptr.
原文:
In any case, if the parameter r is an empty std::shared_ptr the result will be a new empty std::shared_ptr.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 参数

r -
指针转换
原文:
The pointer to convert
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 例外

noexcept 规定:  
noexcept