码迷,mamicode.com
首页 > 其他好文 > 详细

小记:iterator && auto

时间:2019-10-23 11:19:12      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:back   c++   begin   迭代器   自动   注意   push   vector   标准   

小记: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

标签:back   c++   begin   迭代器   自动   注意   push   vector   标准   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!