ベクトル/マップNotesのSTL

ベクトルは、効率の考慮と技術を向上させます

ベクトルSTLは、ユーザに透明なメモリ割り当てを有するユーザ定義の配列よりも、最も一般的に使用される容器であり、そのため動的に成長することができます。
ベクトル何のアクションが非効率につながりますか?

ベクターが不十分な場合のために予約スペースことは疑いがある
一般的なアクションは、空間は、各要素において十分に確保するかどうかを()関数の検出が挿入された一back
に再割り当てメモリとコピー:リザーブ空間へ一back()が十分でない場合には現在、それは新しいメモリ領域へのすべての要素を持っています。すでに多くの要素を持っている場合は、この操作は非常に高価になります。

ベクトルメモリ管理戦略は次のとおりです。容量が不足していると、データの量を2倍にする、これが資源侮れないものであってもよい、大きい
それは、ベクトルREALLOCATEメモリを避けなければならないので。
再割り当てメモリに自動的にベクトルを避けるためにどのように?

要素の数は予約領域に割り当てられた予約機能と、事前に推定することができ
、それは空間割り当ての要素を含んでいないので、それがアクセスすることができない、この関数は、空間の指定された量を割り当てるが、任意の初期化を実行しません。そして、一back機能を同じように使用して、スペースを超えていない予備の前に、この時間は、ベクトルメモリは再割り当て、単に順番に戻されることはありません。

公開された18元の記事 ウォンの賞賛0 ビュー5618

おすすめ

転載: blog.csdn.net/M_ZONE125/article/details/104881627