小记:iterator && auto

Posted fkx4-p

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小记:iterator && auto相关的知识,希望对你有一定的参考价值。

小记: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的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式小记

Flutter小记5Isolate && ffi && Method Channel 使用简介与总结

Flutter小记5Isolate && ffi && Method Channel 使用简介与总结

Python学习小记---scope&namespace

[数模小记]2021深圳杯&东三省

iOS 13.4 & Xcode 11.4 采坑小记(重写系统get)