fill和memset的区别
主要区别
最主要的区别是memset是按照字节填充的。
fill
按照单元赋值,将一个区间的元素都赋予val值。函数参数:fill(vec.begin(), vec.end(), val); val为将要替换的值。
#include <algorithm>
fill(vec.begin(), vec.end(), val); //原来容器中每个元素被重置为val
memset
按照字节填充某字符
#include <cstring>
const int INF = 0x3f3f3f3f;
memset(a,INF,sizeof(a));
赋值
- 因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)。
- 如果填充int型数组,只能填充0、-1 和 inf(正负都行)。因为00000000 = 0,-1同理,如果我们把每一位都填充“1”,会导致变成填充入“11111111”。如果我们将inf设为0x3f3f3f3f,0x3f3f3f3f的每个字节都是0x3f!所以要把一段内存全部置为无穷大,我们只需要memset(a,0x3f,sizeof(a))。无穷小可以将-INF设为0x8f。
- 而fill函数可以赋值任何值。
效率
memset比fill处理速度快一些,所以在能满足需要时,推荐用memset。
参考
https://blog.csdn.net/qq_42835910/article/details/86668951
fill和memset的区别相关推荐
- fill和memset函数(C++)
memset函数 头文件 #include<string.h> 因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)如果填充i ...
- 【C++】fill函数,fill与memset函数的区别
memset函数 按照字节填充某字符 在头文件<cstring>里面 fill函数 按照单元赋值,将一个区间的元素都赋同一个值 在头文件<algorithm>里面 因为mems ...
- C++中的FILL和MEMSET(zzl) 的区分
fill 的头文件是<iostream> 命名空间是std: 示范代码: Cpp代码 #include<iostream> using namespace std; int ...
- C++中的FILL和MEMSET(zzl)
fill 的头文件是<iostream> 命名空间是std: 示范代码: #include<iostream> using namespace std; int main() ...
- bzero, memset ,setmem 区别
bzero 原型:extern void bzero(void *s, int n); 用法:#include <string.h> 功能:置字节字符串s的前n个字节为零. 说 ...
- C++学习 之 fill和memeset的区别
memset函数: 1.按照字节填充字符,因此一般只能用于填充char型数组,如果要填充int型数组,除了0和-1其它不可以. 2.在头文件中 3.使用格式 memset(数组名,要填充的值,大小) ...
- bzero, memset ,setmem 区别【转】
本文转载自:http://chang6520.blog.163.com/blog/static/112665875201302843359715/ bzero 原型: extern void bze ...
- strcpy、memcpy和memset的区别
strcpy 原型:extern char *strcpy(char *dest,char *src); 用法:#include <string.h> 功能:把src所指由NULL结束的字 ...
- anchors.fill和anchors.centerIn区别
自己最近刚刚学习qt quick,不是很了解锚布局,特别是anchors.fill和anchors.centerIn的区别,总感觉两个的用法是相同的.抽空研究了一下,其实还是不同的. anchors. ...
- c语言 bzero,bzero, memset ,setmem 区别(示例代码)
bzero 原型: extern void bzero(void *s, int n); 用法: #include 功能:置字节字符串s的前n个字节为零. 说明:bzero无返回值. 举例: // b ...
最新文章
- python中使用指定GPU
- pythonbool运算教学_python,_pandas Series bool与运算,python - phpStudy
- Loadrunner的Tuxedo脚本分析,基本流程和基本函数介绍
- Linux shell test用法
- php写入记录日志,【转】PHP错误处理写入日志记录
- 网络推广外包——网络推广外包网站专员如何避免“网站过度优化”
- Kattis - bela
- 把接口作为函数的参数,那么任何实现了接口的类的实例都可以作为此函数的参数传递...
- python英文语义角色标注_八款中文词性标注工具使用及在线测试
- PMP - 考试将于2011年8月31日更新
- Python 代理类实现和控制访问与修改属性的权限
- MFC制作简易音乐播放器
- 记录一个好用ER图软件dbschema
- 渗透测试工具Nmap从初级到高级
- 如何才能更持久系列之——如何才能准确测量APP的功耗
- 【用行动说话】第一篇博客
- IDEA本地插件下载及安装
- [JAVA]EXCEL工具推荐-MyExcel
- linux关机电源不断电,[转发]黑苹果修改DSDT彻底解决关机不断电和睡眠问题
- wordpress备份和还原和迁移