タイトルはほとんどそれをすべて言います。基本的に、これを行うことは合法ですか?
class Base {
//stuff
}
class Derived: public Base {
//more stuff
}
vector<Base> foo;
Derived bar;
foo.push_back(bar);
私が見た他の投稿に基づくと、以下は問題ありませんが、スレッドセーフにするのが難しいため、この場合はポインターを使用したくありません。
vector<Base*> foo;
Derived* bar = new Derived;
foo.push_back(bar);