小记:iterator && auto
小记:iterator && auto
iterator
众所周知,我们有一种强大的东西,它叫做STL,比如queue、vector、set、map、multimap 、deque等。
如果我们想遍历整个空间,但是我们发现有些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的更多相关文章
- Java:Iterator接口与fail-fast小记
Java:Iterator接口与fail-fast小记 对 Java 中的 Iterator接口 和 fail-fast,做一个微不足道的小小小小记 Iterator Iterator接口 Itera ...
- 迭代器类型:iterator & const_iterator
vector<int> ivec{1, 3, 4, 1, 3, 4}; vector<int>::iterator iter; // iter能读写vector<int& ...
- codeforces 343D 树剖后odt维护
子树修改+路径修改+单点查询 树链剖分+区间维护即可 由于只有单点查询,我直接用了odt,复杂度还行 #include<bits/stdc++.h> #define endl '\n' # ...
- C++ Core Guidelines
C++ Core Guidelines September 9, 2015 Editors: Bjarne Stroustrup Herb Sutter This document is a very ...
- C++系统学习之三:向量
标准库类型vector 定义:vector表示对象的集合,其中所有对象的类型都相同. 访问方式:索引 头文件:<vector> 本质:类模板 NOTE: 模板本身不是类或函数,相反可以将模 ...
- lca:异象石(set+dfs序)
题目:https://loj.ac/problem/10132 #include<bits/stdc++.h> using namespace std; ,N,k=,head[]; str ...
- Python学习小记(2)---[list, iterator, and, or, zip, dict.keys]
1.List行为 可以用 alist[:] 相当于 alist.copy() ,可以创建一个 alist 的 shallo copy,但是直接对 alist[:] 操作却会直接操作 alist 对象 ...
- [LeetCode] Flatten Nested List Iterator 压平嵌套链表迭代器
Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...
- [LeetCode] Zigzag Iterator 之字形迭代器
Given two 1d vectors, implement an iterator to return their elements alternately. For example, given ...
随机推荐
- jsonp格式前端发送和后台接受写法
jsonp是ajax提交的一种格式不会受跨域限制 一.前端发送 <button>11111</button> <script src="https://cdn. ...
- 夜神模拟器怎么连接adb
夜神模拟器连接不了adb的原因主要是adb的版本与夜神模拟器adb版本不一致造成的,具体的解决办法请看下面的操作步骤. 工具/原料 电脑 安装了夜神模拟器 方法/步骤 1 使用快捷键win + ...
- docker操作命令大全和后台参数
一.命令行 可以通过运行 docker ,或者 docker help 命令得到命令行的帮助信息(我们以 CentOS 为操作环境为例): [root@iz2ze2bn5x2wqxdeq65wlpz ...
- ztree选父不选子选子不选父
var setting = { data: { simpleData: { enable: true } } ,check: { enable: true , chkStyle: 'checkbox' ...
- bat脚本里面if else if的写法
曾经困扰了很久的bat脚本,如果里面包含多种条件判断,就必须要试用if,else if,else的写法了.尝试了很久,终于找到规律: 第一种写法:最简单,就是写一行. @echo off rem 写一 ...
- C++学习03_引用
基本使用 C++提供了给变量命名的机制,就是引用(Reference).引用是一种复合类型. //语法 数据类型 &name=data 注意,引用在定义时需要添加&,在使用时不能添加& ...
- 网络服务—NFS
什么是NFS ? NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作 ...
- Centos7 安装mysql-8.0.18(rpm)
1.前言 当前MySQL最新版本:8.0.18 (听说比5.7快2倍)官方之前表示:MySQL 8.0 正式版 8.0.18 已发布,MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量 ...
- postgres判断字符串是否为时间,数字
时间判断函数定义: -- FUNCTION: public.isdate(character varying) -- DROP FUNCTION public.isdate(character var ...
- 配置Hive 支持 JSON 存储
1.说明 hive默认使用分隔符如空格,分号,"|",制表符\t来格式化数据记录,对于复杂数据类型如json,nginx日志等,就没有办法拆分了,这时候需要更加强大的SerDe来处 ...