std::vectorとは対照的に、要素をメモリに継続的に保存しstd::listます。これにより、std::vectorすべてがきちんとパックされているため、要素を反復するときのパフォーマンスが向上し、std::list.
問題は、ほとんどの場合、ポリモーフィズムのため、またはこれらのオブジェクトをコードの他の部分と共有するために、スマート ポインターをベクトルに格納することです。各オブジェクトは動的に割り当てられるようになったため、最終的に異なるメモリ位置に配置されると思います。これは a を使用する目的を無効にしstd::vector、本質的に a のようなものに変えていstd::listますか? これを修正するためにできることはありますか?