小记: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的更多相关文章

  1. Java:Iterator接口与fail-fast小记

    Java:Iterator接口与fail-fast小记 对 Java 中的 Iterator接口 和 fail-fast,做一个微不足道的小小小小记 Iterator Iterator接口 Itera ...

  2. 迭代器类型:iterator & const_iterator

    vector<int> ivec{1, 3, 4, 1, 3, 4}; vector<int>::iterator iter; // iter能读写vector<int& ...

  3. codeforces 343D 树剖后odt维护

    子树修改+路径修改+单点查询 树链剖分+区间维护即可 由于只有单点查询,我直接用了odt,复杂度还行 #include<bits/stdc++.h> #define endl '\n' # ...

  4. C++ Core Guidelines

    C++ Core Guidelines September 9, 2015 Editors: Bjarne Stroustrup Herb Sutter This document is a very ...

  5. C++系统学习之三:向量

    标准库类型vector 定义:vector表示对象的集合,其中所有对象的类型都相同. 访问方式:索引 头文件:<vector> 本质:类模板 NOTE: 模板本身不是类或函数,相反可以将模 ...

  6. lca:异象石(set+dfs序)

    题目:https://loj.ac/problem/10132 #include<bits/stdc++.h> using namespace std; ,N,k=,head[]; str ...

  7. Python学习小记(2)---[list, iterator, and, or, zip, dict.keys]

    1.List行为 可以用 alist[:] 相当于 alist.copy() ,可以创建一个 alist 的 shallo copy,但是直接对 alist[:] 操作却会直接操作 alist 对象 ...

  8. [LeetCode] Flatten Nested List Iterator 压平嵌套链表迭代器

    Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...

  9. [LeetCode] Zigzag Iterator 之字形迭代器

    Given two 1d vectors, implement an iterator to return their elements alternately. For example, given ...

随机推荐

  1. .Net网站防盗链

    一.简单写法,在Global.asax下的这个方法中添加如下信息 /// <summary> /// 管道当中的第一个事件 /// </summary> /// <par ...

  2. 【转】Python学习---超详细字符串用法大全,好文推荐!

    来自:Python编程与实战(微信号:pthon1024),作者:Jerryning 没有办法转,整个复制下来了 本文要点 字符串拼接 拆分含有多种分隔符的字符串 判读字符串a是否以字符串b开头或结尾 ...

  3. Retrofit+Okhttp+RxJava打造网络请求之Post

    之前一直在准备Android培训的事情,所幸的是终于完事啦,在这过程中真的发现了自身无论从沟通能力还是技术能力上很多的不足,就用一句 路漫漫其修远兮,吾将上下而求索 来勉励自己吧.之前也在项目上用上O ...

  4. python中lambda

    lambda_expr ::= "lambda" [parameter_list]: expression python中lambda可以理解为一个匿名函数,它的要求是函数的运算部 ...

  5. 8.InfluxDB-InfluxQL基础语法教程--ORDER BY子句

    本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) 在InfluxDB中 ...

  6. django-manage.py参数

    cleanup--从数据库中删除旧数据 compilemessages--将.po文件编译为.mo以与gettext一起使用 createcachetable--为SQL缓存后端创建表 create ...

  7. Deep Q Network(DQN)原理解析

    1. 前言 在前面的章节中我们介绍了时序差分算法(TD)和Q-Learning,当状态和动作空间是离散且维数不高时可使用Q-Table储存每个状态动作对的Q值,而当状态和动作空间是高维连续时,使用Q- ...

  8. 第15节_BLE协议GATT层

    学习资料:官方手册 Vol 3: Core System Package [Host volume] Part G: Generic Attribute Profile (GATT) 这篇文章格式比较 ...

  9. 69.x的平方根 (平)(简单)

    实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4输出: 2示例 2: ...

  10. Linux下Maven安装(十二)

    一.前提条件 下载并安装好JDK .在终端输入命令“java -version”,如果出现类似如下信息说明JDK安装成功. 二.开始配置Maven 1. 下载maven:http://mirror.b ...