私はJavaの開発者で、私はC++を初めて使っています。 Javaを使用し
:私は、参照(ポインタ)を見つけるだろう 'myArrayList' で、次のstd :: vectorの代わりにオブジェクトのコピーではなく参照を格納する
myArrayList.add(obj);
を行うことができますに「objの
しかしC++で:私は
std::vector::push_back(obj);
ことを知っています'obj'のコピーを参照ではなくベクトルに挿入します。多数の操作とオブジェクトが作成されていない場合は、通常は問題にはなりません。
私の問題:のstd ::ベクトルを使用して作成され、重複したオブジェクトの数が多いのために
パフォーマンスの問題。
必要なもの:
std :: vectorの代わりに、またはオブジェクトを複製せずに参照(ポインタ)の動的リストを作成する他の方法があります。
PS:私はMAX_SIZEが知られることはありませんように私はこれを使用することはできません。この
MyClass** dynamic_array = new MyClass*[max_size];
のようなポインタの配列を作る知っています。
ありがとうございました。
@HDRgamingこのアプローチは動作しますが、生ポインタの使用の適切なケースではありません。一般的なルールは、[できる場合は参照を使用し、必要な場合はポインタを使用する](https://isocpp.org/wiki/faq/references#refs-vs-ptrs)です。 – VTT