c++中vector<br>およびvector<br>の使い方の比較


STLコンテナ(map、list、vectorなど)を使用する場合、オブジェクトを1つ置くか、オブジェクトポインタを1つ置くか、すなわちvectorを使用するか、vectorを使用するか、ここでvectorは他のコンテナに変えることができ、intは他の基本タイプに変えることができ、カスタムデータ構造やクラスに変えることができます.
まず、この2つの方法で、どのように使っても機能を実現し、1組の整数数を容器に入れることができます.まず、2つの方法が使用されているときの違いを見てみましょう.
1.vector
vector<int> vecTemp;
for (int i=0; i< 10; i++)
{
	vecTemp.push_back(i);
}

この方法ではダイナミックnewメモリは必要ありません.もちろんdeleteも必要ありません.
2.vector
vector<int*> vecTemp;
for (int i=0; i< 10; i++)
{
	int* nTemp = new int;
	nTemp = &i;
	vecTemp.push_back(i);
}

この方式はnewを採用し、もちろんdeleteも使います.
std::vector<int*>::iterator Iter;
for(Iter=vecTemp.begin(); Iter!=vecTemp.end(); Iter++)
{
	int* temp = *Iter;
	
	delete temp;
	temp = NULL;
}

3.二つの使い方の違い:
1)vectorメモリを動的に操作する必要はなく、メモリの漏洩などの問題を心配する必要はない.vectorはnewとdeleteがペアで使用されることに注意してください.
2)intが他のタイプや構造やクラスに変更された場合、vectorという方式が便利で、容器に入っている内容の占有メモリも相対的に少なく、ポインタが使用されている場合、スペースを申請します.いいえ、それは4バイトのアドレスです.
転載はオリジナルリンクを明記してください:http://blog.csdn.net/wujunokay/article/details/12380341