データがヒープに保存されるようにこれを保存するにはどうすればよいですか?
参照セマンティクスが必要な場合、つまり、コンテナ内の値を、コードの他の部分からも参照される値のエイリアスにする必要がある場合、およびコードの一部で行われた変更は、変更されたオブジェクトへのエイリアス、Data
これは正しいコンテナ定義だと思います:
std::vector<std::vector<std::shared_ptr<Data>>>
ストレージがどこから来るのかという質問については、s、s 、s のいずれであっても、その要素をストレージの連続領域にstd::vector
常に動的に割り当てます。shared_ptr
vector
Data
ただし、参照セマンティクスが本当に必要なのか、それともData
コンテナー内に型のオブジェクトを値によって格納するだけでは不十分なのかを検討することをお勧めします。
std::vector<std::vector<Data>>
shared_ptr
これにより、コードが簡素化され、メモリと実行時のオーバーヘッドも取り除かれます。
参照セマンティクスが必要かどうかは、アプリケーションの設計者であるあなただけが判断できます。あなたが提供した情報は、私が不確実性なしにそれを伝えるのに十分ではありませんが、うまくいけば、この回答が、あなたが自問すべき親切な質問と、それぞれの場合の答えについてのヒントになることを願っています.