基本上我有一个class A和一个class B : public A。
我想投一个std::shared_ptr<std::vector<A*>到一个std::shared_ptr<std::vector<B*>
问题是std::vector<B>不继承自std::vector<A>,smart_ptr也不是。所以我做了一个可怕的演员:
std::shared_ptr<VectorA> vector_a = * ((std::shared_ptr<VectorA>*)&vector_b);
代码在那里编译并运行,但它安全吗? http://liveworkspace.org/code/3dQTz1$0