iterator简单描述
Item 26. Prefer iterator to const iterator, reverse_iterator, and const_reverse_iterator.
上面一段话,是《Effective STL》中的一节。我在下面简单摘抄了一下:
我之所以要将上述图片贴在这里,是因为,我在实际运用中,需要用到iterator向const_iterator的转化,虽然我知道在VS下,iterator可以隐式转化为const_iterator,但是,编写的程序需要在linux下运行,所以有些犹豫,故认真查找了一下。
对于上面的第一点,有些需要说明:
(1)在C++11之后,insert,erase函数的第一个参数,已经由iterator改为const_iterator。这个也非常合理,因为,原来传入iterator的调用,现在可以隐式转变为const_iterator,而且新的函数可以接受const_iterator的参数。
(2)reverse_iterator和const_reverse_iterator并不能传入insert,erase之类的函数,虽然从感觉上来看,reverse_iterator应该是一个iterator,const_reverse_iterator应该是const_iterator,可能将传入的参数,用forward_iterator之类的名字可能会更好,然而forward_iterator总是会让人想到forward_iterator_tag,在模板使用中,很多时候会使用类似于ForwardIterator之类的名字。
iterator简单描述的更多相关文章
- 简单描述RAID级别:
简单描述RAID级别: RAID 0 是俩盘一起读写,如果一个坏了那么数据全丢失: RAID 1是一块写,一块用来备份,坏一块无所谓: RAID 2 ,3 ,4 不常用: 最常用的就是RAID 5和R ...
- ECSHOP购物车页面显示商品简单描述
1.这里说的商品简单描述,不是商品的详细信息,而是后台编辑商品时在“其他信息”标签栏填写的那个“商品简单描述”,即goods_brief字段 2.修改lib_order.php文件的get_cart_ ...
- Java中会存在内存泄露吗?请简单描述。
本文转载自:Java中会存在内存泄漏吗,请简单描述 会.java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周 ...
- TCP/IP 协议标准简单描述
TCP/IP 协议标准简单描述 说明 分为三部分:中文名称.缩写.说明. 应用层 DNS 域名服务 (DNS) 功能: 将域名转化为IP地址 BOOTP 引导程序协议 (BOOTP) 功能: 允许无盘 ...
- LINQ架构简单描述
写在前面的话:课堂上老师只是简单提了一下LINQ,当时听着老师对它的描述,感觉非常神奇,不用去操作繁琐的SQL语句了,读取数据库的操作居然能向写C#代码一样方便,但是一直没有机会去学习使用它. LIN ...
- [answerer的算法课堂]简单描述4种排序算法(C语言实现)
[answerer的算法课堂]简单描述4种排序算法(C语言实现) 这是我第一次写文章,想要记录自己的学习生活,写得不好请包涵or指导,本来想一口气写好多种,后来发现,写太多的话反而可读性不强,而且,我 ...
- salesforce 零基础学习(三十七) DML及Database方法简单描述
在apex中通过soql查询可以使用两种方式,使用DML语句或者使用Database的方法. 使用DML语句和使用Database类的方法对于我们来说用的都很多,并且都很常见.对于数据库常见的操作:增 ...
- Spring架构简单描述
原文:https://www.shiyanlou.com/courses/document/212 Spring 概述 1. Spring 是什么 Spring是一个开源的轻量级Java SE(Jav ...
- 简单描述DataAdapter、DataReader、DataSet、Datatable对比
一.存储的对比 DataReader 从数据库中检索[只读]数据流,存在客户端网络缓冲区,直到Read方法访问它们. DataAdapter 表示一组SQL命令和数据库连接,用于填充DateSet和[ ...
随机推荐
- sql server替换字段中的某个字符
USE [Vocabulary ] GO --UPDATE [dbo].[table name] -- SET [en] = '' -- ,[cn] ='' -- WHERE --cha ...
- Android 音视频深入 七 学习之路的总结和资料分享
说个实话一开始我对基于Android如何开发音视频很迷茫,甚至对音视频开发都不是很明白,我看了Android 音视频开发入门指南 http://blog.51cto.com/ticktick/1956 ...
- 合并分支,从dev到master
我在本地创建了dev分支,项目也push到远程的dev分支,今天在远程分支进行合并时,将dev合并到master,结果公司的gitlab始终不响应,我不知道是公司的网络不行还是我操作错误,就只能另想办 ...
- MySQL-8.0.15在Win10和Ubuntu上安装&使用
一.Windows环境下安装: 1.下载MySQL压缩包 官网地址:https://dev.mysql.com/downloads/mysql/ 点击直接下载: 2.解压到本地目录,并添加一个配置文件 ...
- ES6和ES5变量声明的区别(var let const)
// es5的语法与es6的语法区别 // var let const console.log(name);//undefine,不会报错,因为变量声明会提到作用域的最前面 var name=&quo ...
- 读入一个字符串str,输出字符串str中连续最长的数字串
要求: 读入一个长度不超过256的字符串,例如“abc123defg123456789hjfs123456”.要求输出“123456789” 思路: 遍历字符串,如果是数字串则计算往后一共有多少个数字 ...
- scikit-learn实现简单的决策树
#encoding=utf-8import numpy as npimport pandas as pd def main(): #Pre-processing from sklearn.datase ...
- python基础提高演练(名片管理系统的开发)
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...
- 使用Java API方式的MapReduce练习
众所周知,hadoop生态圈的多数组件都是使用java开发的. 那么使用Java API方式实现起来,显得要比其它语言效率更高,更原生态. 前面有一个Hadoop学习笔记02_MapReduce练习 ...
- XCode9和10编译Cordova报错toLowerCase of undefined解决方案
XCode升级到9或10后,cordova build时报错:toLowerCase of undefined... 解决方案: 修改platforms/ios/cordova/lib/list-em ...