C ++でのベクトルへのオブジェクトの追加とベクトルへのポインターの追加.
例:
std::vector<Size> buildings;
Size building(buildingWidth, buildingHeight);
buildings.push_back(building);
VS
std::vector<Size*> buildings;
Size *building = new Size(buildingWidth, buildingHeight);
buildings.push_back(building);
メモリ/パフォーマンスの点でどちらが優れていますか?
最初のものは基本的にスタック上にオブジェクトを作成し、それをベクターに追加します。したがって、インスタンス化が 1 つで、その後にベクターへのコピーが 1 つあります。
2 つ目は、ヒープ上にオブジェクトを作成します。インスタンス化は 1 つありますが、ベクターへのコピーはありません。
私は正しいですか?