一、Vector对象的初始化
(1)分配指定数目的元素,并对这些元素进行值初始化;
vector<int> ivec(10); //ivec包含10个0值元素;
(2)分配指定数目的元素,并将这些元素初始化为指定值;
vector<int> ivec(10,1); //ivec包含10个值为1的元素;
(3)将vector对象初始化为一段元素的副本;
int ia[10] = {0,1,2,3,4,5,6,7,8,9};
vector<int> ivec(ia,ia+10);//第一个元素以及数组最后一个元素的下一位置的地址;
(4)将一个vector对象初始化为另一vector对象的副本;
vector<int> ivec1(10,1);
vector<int> ivec2(ivec1);
二、Multimap对象
当迭代器it为mp_TempSets.end() 时,下面程序会报错:
multimap<int,vector<string>>::iterator it = mp_TempSets.begin();
while( fst[0].compare(it->second[0]) != 0 && it != mp_TempSets.end() ) //先执行的判断是 fst[0].compare(it->second[0])
!= 0;
{
it++;
id++;
}
应改为——
while(it != mp_TempSets.end() && fst[0].compare(it->second[0]) != 0)
{
it++;
id++;
}