首页 > 其他 > 详细

小记:iterator && auto

时间:2019-10-23 10:43:44      阅读:442      评论:0      收藏:0      [点我收藏+]

小记:iterator && auto

iterator

众所周知,我们有一种强大的东西,它叫做STL,比如queuevectorsetmapmultimapdeque等。

如果我们想遍历整个空间,但是我们发现有些STL中没有operator[],也就是说无法通过正常的...[......]来访问所有元素。所以我们引入了这个东西——iterator。

它的标准形式为*::iterator **其中,*是你的定义类型,**是你的迭代器名称。

那么怎么食用呢?如下是一个最简单的板子:

#include <bits/stdc++.h>
using namespace std;

vector<int>::iterator it;
vector<int> vec;

int main(){
    for (int i = 0; i ^ 10; i++)
        vec.push_back(i);
    for (it = vec.begin(); it != vec.end(); it++)
        cout << *it << ' ';
}

其它的妙用,就大家来使用叭。。。。。。

auto

你是否想根据后面的变量让电脑自动定义它的类型?那么你就找对了。

auto就是用来干这个的。

比如,刚才的代码完全可以改为这样:

#include <bits/stdc++.h>
using namespace std;

vector<int> vec;

int main(){
    for (auto i = 0; i ^ 10; i++)
        vec.push_back(i);
    for (auto it = vec.begin(); it != vec.end(); it++)
        cout << *it << ' ';
}

你不用管it到底是啥类型,定义它就好了。

需要注意的是,auto定义变量时,需要直接赋东西给变量。。。。。。

小记:iterator && auto

原文:https://www.cnblogs.com/fkx4-p/p/11724847.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!