基本的に私はclass A
とを持っていclass B : public A
ます。
std::shared_ptr<std::vector<A*>
そして、aを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