C++ fill()和fill_n()函数用法
来源:互联网 发布:s5支持4g网络吗 编辑:程序博客网 时间:2024/05/17 03:01
fill 和fill_n函数是C++ Primer第十二章泛型算法部分内容,并把它们称为生成和变异算法,也就是说这两个函数只能对输入范围内已存在的元素进行操作。如果试图对空容器进行fill_n操作,会导致严重的运行错误,所以在对元素进行写入操作时要检查目标的大小是否足以存储要写入的元素。
fill函数的作用是:将一个区间的元素都赋予val值。函数参数:fill(vec.begin(), vec.end(), val); val为将要替换的值。
- # include <algorithm>
- fill(vec.begin(), vec.end(), val); //原来容器中每个元素被重置为val
注意: 不能在没有元素的空容器上调用fill_n函数,但是可以通过下面的方法改进。
- fill_n(vec.begin, 10, val);
为了保证算法有足够的元素存储输出数据,我们使用“插入迭代器”(insert iterator),插入迭代器是可以给基础容器添加元素的迭代器。
使用 back_inserter 的程序需要包含头文件#include<iterator>,将上面的程序改写成:
- #include <iterator>
- vector<int> vec; //定义一个空容器
- fill_n (back_inserter(vec), 10 val);
在这个程序中,fill_n() 函数每写入一个值,都会通过back_inserter生产的插入迭代器实现。效果相当于在vec上调用push_back,在vec末尾添加10个元素。
0 0
- C++ fill()和fill_n()函数用法
- C++ fill()和fill_n()函数用法
- C++ fill和fill_n函数用法介绍和比较
- fill和fill_n函数的应用
- c++ fill和fill_n函数的应用
- C++学习 fill和fill_n和for_each()函数的应用
- C++ fill() 、 fill_n & memset函数
- fill和fill_n函数的应用 / fill_n与generate_n的区别
- STL 之fill和fill_n
- STL 之fill和fill_n
- 【C++】fill函数,fill与memset与fill_n函数的区别
- c++ 如何批量初始化数组 fill和fill_n函数的应用
- STL填充与生成(fill,fill_n,generate,generate_n)的用法
- C++中fill()、fill_n()与memset()函数的区别
- fill,fill_n,generate,generate_n
- C++ fill,fill_n
- fill()和fill-n()函数用法及与memset的区别
- STL_Algorithm1: Fill, Fill_n, Generate, Generate_n
- spinner 下拉选择控件
- 关于没有扫描到的报错形式
- 大数据的完整解决方案和体系化
- Ubutu安装open ssl
- linux系统关于命令echo的15个例子
- C++ fill()和fill_n()函数用法
- 简单的ORACLE数据库备份与还原
- jQuery之CSS
- 初学CSS笔记(1)
- struts2验证
- Linux学习总结
- 人,生下来,就意味着呻吟!
- 【股民故事】回忆:一个小散户的历程
- dom对象和jquery对象之间的关系。