vector,范围for运算,迭代器,条件运算符!
1.vector这是一个容器类型
初始化的时候可以有好几种,但是要记住一点就是,不能用下标运算来给他赋值,添加元素,
vector<int> v1(10,2);
说明这个v1中有10个元素,且每个元素都是2
还有vector对象支持的操作有
v1.empty();
//如果v1不含有任何元素,返回真,否则返回假
v1.size();
//返回v1中元素的个数
。。。等等
,其余的我就不废话了。
2.范围for运算
这个数c++11新加的,有兴趣可以去网上看看,这里我用到了。
3.迭代器
好吧,我承认我也不太懂,我就吧它当成一直指针了,
我只是想试一试这种高级高级玩意怎么用~~~~~~
4.条件运算符号
这个才是刚刚学的重点
使用方式
cond ? expr1 :expr2;
这个表达式返回一个值,cond为真返回expr1假返回expr2,注意这里是有返回值的,不要搞乱了
5.作业代码c++ primer 第五版 4.21
/*
功能:编写一段程序,使用条件运算符从vector<int>中找到那些元素的值是奇数,然后将
这些奇数值翻倍
时间:2014年5月15日14:59:28
作者:cutter_point
*/
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
int main()
{
vector<int> v1; //用来存放数据
int n,i,j=1; //用来输入
while(cin>>n)
{
v1.push_back(n); //吧数据放入到v1中
}
cout<<"一共有:"<<v1.size()<<" 个元素"<<endl;
for(auto &i : v1)
{
/*
if(i % 2 != 0)
{
cout<<"第 "<<j<<" 个元素 "<<i<<" 是奇数!"<<endl;
i*=2;
}
*/
cout<<"第 "<<j<<" 个元素 "<<i;
string m=(i%2 != 0) ? " 这是奇数":" 这是偶数";
cout<<m;
i=(i%2 != 0) ? 2*i : i;
cout<<endl;
j++;
}
cout<<"新的vector<int>类型值是:"<<endl;
for(vector<int>::const_iterator it=v1.cbegin() ; it != v1.cend() ; ++it)
{
cout<<*it<<" ";
}
return 0;
}
6.PS
哎 这样写出来好蛋疼,好繁琐,
希望对大家有帮助,我希望自己可以坚持下去,
不论是什么事只有持之以恒才能成功!!!