STL容器

本文介绍了Vector对象的四种初始化方式及其应用场景,并针对Multimap对象的遍历逻辑给出了正确的实现方式,避免了常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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++;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值