たとえば、5つの要素を持つポインタの配列(いっぱい)があり、2番目の位置に別の要素を挿入したい場合は、別の配列(size + 1)を割り当て、古い配列から最初の要素をコピーして、挿入する必要があります。新しい要素を作成し、残りの要素をコピーします。このアプリケーションはスペースを無駄にすることはできません。これまでのコードは次のとおりです。
Sometype **newArray=new Sometype*[++Count];
size_t s=sizeof(Array);
memcpy(newArray,Array,s*position);
newArray[position]=new Sometype();
memcpy(newArray+position+1,Array+position,s*(Count-position-1));
delete [] Array;
Array=newArray;
これは私のアプリケーションのボトルネックであるため、これを行うためのより効率的な方法はありますか?私はc ++を初めて使用するため、高度な情報はわかりません。この目的でベクトルを使用できますか?サイズを変更すると、以前の使用済みスペースの2倍のスペースが必要になることをどこかで読んだと思います。これは本当ですか、それともこの動作を変更できますか?