主要区别

最主要的区别是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的区别相关推荐

  1. fill和memset函数(C++)

    memset函数 头文件 #include<string.h> 因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)如果填充i ...

  2. 【C++】fill函数,fill与memset函数的区别

    memset函数 按照字节填充某字符 在头文件<cstring>里面 fill函数 按照单元赋值,将一个区间的元素都赋同一个值 在头文件<algorithm>里面 因为mems ...

  3. C++中的FILL和MEMSET(zzl) 的区分

    fill 的头文件是<iostream> 命名空间是std: 示范代码: Cpp代码   #include<iostream> using namespace std; int ...

  4. C++中的FILL和MEMSET(zzl)

    fill 的头文件是<iostream> 命名空间是std: 示范代码: #include<iostream> using namespace std; int main() ...

  5. bzero, memset ,setmem 区别

    bzero   原型:extern void bzero(void *s, int n); 用法:#include <string.h> 功能:置字节字符串s的前n个字节为零.     说 ...

  6. C++学习 之 fill和memeset的区别

    memset函数: 1.按照字节填充字符,因此一般只能用于填充char型数组,如果要填充int型数组,除了0和-1其它不可以. 2.在头文件中 3.使用格式 memset(数组名,要填充的值,大小) ...

  7. bzero, memset ,setmem 区别【转】

    本文转载自:http://chang6520.blog.163.com/blog/static/112665875201302843359715/ bzero  原型: extern void bze ...

  8. strcpy、memcpy和memset的区别

    strcpy 原型:extern char *strcpy(char *dest,char *src); 用法:#include <string.h> 功能:把src所指由NULL结束的字 ...

  9. anchors.fill和anchors.centerIn区别

    自己最近刚刚学习qt quick,不是很了解锚布局,特别是anchors.fill和anchors.centerIn的区别,总感觉两个的用法是相同的.抽空研究了一下,其实还是不同的. anchors. ...

  10. c语言 bzero,bzero, memset ,setmem 区别(示例代码)

    bzero 原型: extern void bzero(void *s, int n); 用法: #include 功能:置字节字符串s的前n个字节为零. 说明:bzero无返回值. 举例: // b ...

最新文章

  1. python中使用指定GPU
  2. pythonbool运算教学_python,_pandas Series bool与运算,python - phpStudy
  3. Loadrunner的Tuxedo脚本分析,基本流程和基本函数介绍
  4. Linux shell test用法
  5. php写入记录日志,【转】PHP错误处理写入日志记录
  6. 网络推广外包——网络推广外包网站专员如何避免“网站过度优化”
  7. Kattis - bela
  8. 把接口作为函数的参数,那么任何实现了接口的类的实例都可以作为此函数的参数传递...
  9. python英文语义角色标注_八款中文词性标注工具使用及在线测试
  10. PMP - 考试将于2011年8月31日更新
  11. Python 代理类实现和控制访问与修改属性的权限
  12. MFC制作简易音乐播放器
  13. 记录一个好用ER图软件dbschema
  14. 渗透测试工具Nmap从初级到高级
  15. 如何才能更持久系列之——如何才能准确测量APP的功耗
  16. 【用行动说话】第一篇博客
  17. IDEA本地插件下载及安装
  18. [JAVA]EXCEL工具推荐-MyExcel
  19. linux关机电源不断电,[转发]黑苹果修改DSDT彻底解决关机不断电和睡眠问题
  20. wordpress备份和还原和迁移

热门文章

  1. 001----Mysql隔离级别
  2. iOS 使用脚本自动化复制target
  3. sping加载bean都发生了些什么
  4. iOS - Label 数字动态变化
  5. Js 日期选择,可以的一个页面中重复使用本JS日历,兼容IE及火狐等主流浏览器,而且界面简洁、美观,操作体验也不错。...
  6. 中缀表达式转换为后缀表达式算法
  7. 子模的性质(submodular)
  8. 拓端tecdat|R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
  9. 【大数据部落】基于LDA主题模型聚类的商品评论文本挖掘
  10. 7-24 说反话-加强版 (20 分)