【足迹】5.vector,范围for运算,迭代器,条件运算符!

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

哎 这样写出来好蛋疼,好繁琐, 哭
希望对大家有帮助,我希望自己可以坚持下去,
不论是什么事只有持之以恒才能成功!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值