2012年3月9日C++学习笔记

5 篇文章 0 订阅
4 篇文章 1 订阅

1. vector<int>  ivec;

    ivec[0]=42; //错误。因为ivec是空的vector对象,其中不含任何元素,而下标只能用于获取已存在的元素。

   更正:将赋值语句改为语句ivec.push_back(42)

2. 列出三种定义 vector 对象的方法,给定 10 个元素,每个元素值为 42。指出是否还有更好的实现方法,并说明为什么。 

方法一: 

vector<int> ivec(10, 42); 

方法二: 

vector<int> ivec(10); 

for (ix = 0; ix < 10; ++ix) 

    ivec[ix] = 42; 

方法三: 

vector<int> ivec(10); 

for (vector<int>::iterator iter = ivec.begin();  

iter != ivec.end(); ++iter) 

    *iter = 42; 

方法四: 

vector<int> ivec; 

for (cnt = 1; cnt <= 10; ++cnt) 

    ivec.push_back(42); 

方法五: 

vector<int> ivec; 

vector<int>::iterator iter = ivec.end(); 

for (int i = 0; i != 10; ++i) { 

    ivec.insert(iter, 42); 

    iter = ivec.end(); 

各种方法都可达到目的,也许最后两种方法更好一些。它们使用标准库中定义
的容器操作在容器中增添元素,无需在定义 vector 对象时指定容器的大小,比
较灵活而且不容易出错。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值