否则,新的shared_ptr将与r,但如果dynamic_cast由dynamic_pointer_cast返回空指针。 让Y成typenamestd::shared_ptr<T>::element_type,然后产生的std::shared_ptr%27s存储的指针将通过按%29的顺序调用%28获得: 1%29static_cast<Y*>(r.get())... 2%29dynami
reinterpret_pointer_cast 并不是C++标准库中的一个函数或成员。在C++中,进行指针类型转换的标准方法是使用 reinterpret_cast。 核实reinterpret_pointer_cast是否为C++标准库std的成员: reinterpret_pointer_cast 显然不是 std 的成员。C++标准库中没有名为 reinterpret_pointer_cast 的函数或方法。 提供正确的函数或方...
std::shared_ptr<T> static_pointer_cast( const std::shared_ptr<U>& r ) noexcept; (1) (C++11 起) template< class T, class U >std::shared_ptr<T> static_pointer_cast( std::shared_ptr<U>&& r ) noexcept; (2) (C++20 起) template< class T, class U >std::shared_ptr<T> ...
template< class T, class U > std::shared_ptr<T> reinterpret_pointer_cast( const std::shared_ptr<U>& r ) noexcept; (7) (since C++17) template< class T, class U > std::shared_ptr<T> reinterpret_pointer_cast( std::shared_ptr<U>&& r ) noexcept; (8) (since C++20) Creates...
std::static_pointer_cast,std::dynamic_pointer_cast,std::const_pointer_cast,std::reinterpret_pointer_cast Defined in header<memory> template<classT,classU> std::shared_ptr<T>static_pointer_cast(conststd::shared_ptr<U>&r)noexcept; (1)(since C++11) ...
3) The behavior is undefined unless const_cast<T*>((U*)nullptr) is well formed.4) The behavior is undefined unless reinterpret_cast<T*>((U*)nullptr) is well formed.Parametersr - the pointer to convert ExampleThis section is incompleteReason: no example ...