博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入迭代器
阅读量:7067 次
发布时间:2019-06-28

本文共 698 字,大约阅读时间需要 2 分钟。

transform:

通过transform函数我们可以将一个仿函数作用域[begin,last)的每个元素身上,然后将结果保存到目标区间。

vector
results;transform(value.begin(),value.end(),results.end(),transmogrify());

上述代码会将value中的元素调用transmogrify,然后通过赋值保存到results中。

但是这会出现一些问题,因为results中没有对象,怎么可能赋值成功
当然可以考虑先默认构造然后在使用transform。


front_inserter/back_inserter:

front_inserter/back_inserter可以和容器进行绑定,通过此迭代器进行赋值的时候会调用push_back()/push_front();

vector
results;transform(value.begin(),value.end(),back_inserter(results),transmogrify());

如此,transform最后对back_inserter进行赋值的时候,便会调用results的push_back()。不用担心

是否已经分配内存,构造对象。
除此之外:
还有一个inserter可以在指定位置进行插入


当然你可以在进行transform之前先用reserve分配好足够的空间,避免重复分配内存。

转载于:https://www.cnblogs.com/Przz/p/6591039.html

你可能感兴趣的文章
java登录有次数限制_[Java教程]限制登录次数
查看>>
java的classpath路径_Java项目下的classpath路径包括哪里-Go语言中文社区
查看>>
android java 数组转字符串_android112 jni 把java的字符串转换成c的字符串,数组处理...
查看>>
java判断csv文件为空_在java中解析CSV文件,并使用空值进行delaing
查看>>
java邮件模板代码_Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)
查看>>
java websocket 实现_Java 项目中的 WebSocket 实现
查看>>
cmd接收mysql显示问号_MySQL_JDBC链接mysql插入数据后显示问号的原因及解决办法,1.在cmd中进入mysql查看默认的编 - phpStudy...
查看>>
java连不上sql表_Java与数据库的多表连接不能进行
查看>>
java和angular网页制作_使用Java 8,Spring Boot和Angular创建简单的Web应用程序
查看>>
java字段不序列化注解_gson:如何在没有注释的情况下从序列化中排除特定字段...
查看>>
java截取字符串第二次字母_java截取字符串中出现次数最多的字母
查看>>
java教务选课系统源代码_基于jsp的教务选课系统-JavaEE实现教务选课系统 - java项目源码...
查看>>
java通过文件名运行_Java 从返回文件名获取内容类型
查看>>
java中双精度型变量_java中的基本数据类型
查看>>
java运行csh文件_Java,Prel,Csh界面
查看>>
java match详解_Match类解析
查看>>
java json转抽象对象_java Bean与json对象间的转换实例讲解
查看>>
java to vb converter_VB源码转换工具(VBto Converter)
查看>>
centos 6.5 编译php mysql5.6_CentOS 6.5编译安装Nginx+MySQL+PHP
查看>>
怎么用php配合js编写动态页面_关于php动态页面的实例汇总
查看>>