C++ 容器vector 语法练习

 

编程不是什么技术活,就是个手工活,常常练习,否则手很生.

 

前面写个一次,很久不用就忘记了. http://blog.csdn.net/sergery/article/details/8144354

 


// C++ Prime 习题3.17 P31
// 熟悉下容器操练语法

#include <iostream>
#include <vector>
using namespace std;

void main()
{
	vector<int> ivec; //定义一个int 数据类容易,但是没有定义大小
	int ival;
	cout<<"输入整数,CTRL + Z 结束输入"<<endl;

	// 为什么cin>>ival 表达式可以用作逻辑判断,因为该表达式返回流,流是有状态的,状态只有true or false
	// 因此cin>>ival 可以做逻辑判断
	// 具体看书 P247 第八章标准IO库,C++ Prime这本书够操蛋的,要看到后面第八章才能解释第三章的内容
	while (cin>>ival) {  
		ivec.push_back(ival);  // 容器的操练就是用成员函数puch_back压入元素,动态申请空间
	}

	if(ivec.size()==0) {cout<<"容器没有元素,退出"<<endl;exit(0);}

	// 求相邻元素的和

	vector<int>::size_type cnt=0;  
   
	// 迭代器定义语法格式 vector<int>::iterator iter;  迭代器就是C语言中的指针,当指针怎么用的,就怎么用迭代器
	for(vector<int>::iterator iter=ivec.begin();iter<ivec.end()-1;iter=iter+2)
	{
		cout<<*iter + *(iter+1)<<"\t";
		++cnt;
		if(cnt%3==0)cout<<endl;
	}
    

	// 最后一个元素不是 ivec.end() ; 要减一. 就像数组的最后一个元素是数组大小减一一样.
    cout<<"最后一个元素是:"<<*( ivec.end()-1 )<<endl;

}


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值