差リサイズとリザーバー

図1に示すように、リサイズ(N)

これはn個の要素を収容することができるように、容器の長さの大きさを調整します。

nはコンテナの現在のサイズより小さい場合、余分な要素が削除されます。

それ以外の場合は、付加価値要素を使用して初期化されます。

図2に示すように、リサイズ(N、T)

もう一つのパラメータtは、すべての要素が新たにtと追加を初期化します。

リザーバー()の使用は唯一のものです

リザーブ(N)

n個の要素の事前に割り当てられたメモリ空間。

第一の容器容量(容量)と大きさ(長さ)の差を調べるために、この2つの機能の違いを理解します。

これは、コンテナの数と現在の要素の大きさを指します。

それは保存することができる新たなストレージ・スペースを割り当てる必要があり前容量は、容器内の要素の総数を指します。

これは、事前に割り当てられたストレージスペースの大きさということができます。

リサイズ()サイズと機能は密接容器に関する。リサイズ(n)を呼び出した後、容器の大きさがnです。

調整容器のサイズに応じて、容量に影響する容量よりも大きいです。

リザーブ()容量と機能は密接容器に関する。

リザーブ(n)を呼び出した後、容器の容量であれば、<N、容量がnに等しいように、メモリ空間を再割り当てします。

容量> = Nそれならば?容量変わりません。

2つの関数の使用から見つけることができ、コンテナが機能した後リサイズ()を呼び出して、すべてのスペースがすでに初期化されている、それが直接アクセスすることができます。

スペースの準備()関数があらかじめ割り当てられて初期化されず、それにはアクセスできません。

#include
の#include

名前空間stdを使用。

INTメイン()
{
ベクトルparamsは(100)。
size_tのLEN = params.size()。
size_tのサイズ= params.capacity()。

params.resize(50);
len = params.size();
size = params.capacity();

params.resize(500);
len = params.size();
size = params.capacity();

params.reserve(100);
len = params.size();
size = params.capacity();

params.reserve(1000);
len = params.size();
size = params.capacity();

return 0;

}

发布了38 篇原创文章 · 获赞 13 · 访问量 4315

おすすめ

転載: blog.csdn.net/YanWenCheng_/article/details/104045479