小记: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 ...
随机推荐
- pymysql 的简单使用
一.环境 Windows 7 x64 python 3.7.1 pymysql 0.9.3 mysql5.6.43 二.pymysql的简单使用 1.准备数据库demo_temp c ...
- eclipse 导出 jar包详细步骤
如图所示:
- python关于 微型微服务框架bottle实践
代码实践 资源接口类MyWeb.py,定义了资源接口,代码时python2的代码,和3语法略有不同! # coding: utf-8 import json import logging import ...
- 大学外语四六级英语词汇CET
anticipation n. 预期,期望 appreciation n. 感谢,感激 array n. 陈列,一系列 assurance n. 保证 emergency n. 紧急情况 encour ...
- mysql常用配置注意项与sql优化
建立数据库: 建立数据库时编码字符集采用utf8 排序规则: 后缀"_cs"或者"_ci"意思是区分大小写和不区分大小写(Case Sensitive & ...
- true false
#include<stdio.h> int main(void) { /* true 1 false 0 */ printf( == ); printf( > ); printf( ...
- Visual Assist X(网上收集,仅供学习与研究,支持正版)
Visual AssistX是一款非常好的Microsoft Visual Studio插件,它可以完全集成到您的Microsoft开发环境中,升级了您的IDE, 在不改变编程习惯的同时就可以感受到V ...
- 【使用篇二】SpringBoot整合mybatis(7)
说明:使用SpringBoot+Mybatis+Jsp实现简单的用户增删查改 #用户表 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `) NO ...
- Identity入门2:AuthenticationManager【转】
在 上篇文章 中讲了关于 Identity 需要了解的单词以及相对应的几个知识点,并且知道了Identity处在整个登入流程中的位置,本篇主要是在 .NET 整个认证系统中比较重要的一个环节,就是 认 ...
- Xamarin.Forms移动开发系列4 :XAML基础
摘要 本文介绍Xamarin.Forms创建用户界面的语言:XAML基础部分. 前言 本文介绍Xamarin.Forms定义用户界面的语言:XAML. 本篇篇幅较长,主要讲述XAML语法,以及对其他基 ...