C/C++ 之 fill ()的运用及与memset()的区别
2015-10-19 20:01
375 查看
fill()函数参数:fill(first,last,val); // first 为容器的首迭代器,last为容器的末迭代器,last为将要替换的值。
如:要将数组a中的前100项的值赋值为1;
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int a[200];
memset(a,0,sizeof(a)); // 初始化为0;
for(int i = 0;i < 200;i++)
{
cout << a[i] << " ";
}
fill(a,a+100,1);
for(int i = 0;i < 200;i++)
{
cout << a[i] << " ";
}
return 0;
}
fill() 和 menset() 两者看似相等,但两者却有巨大的区别,在fill()中 ,它的原理是把那一块单元赋成指定的值,也就是说任何值都可以,而在memset(),则是将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,
附上memset()详细解析连接http://blog.csdn.net/xia842655187/article/details/47253563
如:要将数组a中的前100项的值赋值为1;
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int a[200];
memset(a,0,sizeof(a)); // 初始化为0;
for(int i = 0;i < 200;i++)
{
cout << a[i] << " ";
}
fill(a,a+100,1);
for(int i = 0;i < 200;i++)
{
cout << a[i] << " ";
}
return 0;
}
fill() 和 menset() 两者看似相等,但两者却有巨大的区别,在fill()中 ,它的原理是把那一块单元赋成指定的值,也就是说任何值都可以,而在memset(),则是将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,
附上memset()详细解析连接http://blog.csdn.net/xia842655187/article/details/47253563
相关文章推荐
- C++--------------------------------------------模板
- 雪*C语言核心知识总结五
- protobuf源码解析
- C语言的传值与传址调用
- C语言中的break、continue和goto三者的区别与用法
- C语言基础
- 三角形 算法第一集
- 学习C语言的数组
- C++STL学习(7)各种容器总结
- C语言强制类型转换
- 借刀杀对象--Raii技法(C++版)
- 《C++ Primer 5th》读书笔记3---关于类的构造函数
- 设计模式之工厂方法模式
- C语言 ## __VA_ARGS__ 宏
- 【C】用C语言提取bmp图片像素,并进行K-means聚类分析——容易遇到的问题
- C语言中没有string类
- C++入门学习——虚函数表介绍
- c++ 使用socket实现C/S端文件的下载传输
- Eclipse环境安装C/C++插件CDT和Eclipse安装的插件卸载(删除)
- STL中的map、unordered_map、hash_map