浅谈C++中memset函数的用法
浅谈C++中memset函数的用法
memset函数的头文件是cstring, 实际上是一个字符串处理函数,但常用于给静态数组(不是new出来的数组)赋特定初值。
#include<cstring>
C++ Reference关于memset函数的链接页:memset - C++ Reference
在使用的时候有2点需要特别注意:
1. value虽然是以int(32 bit)类型给的,但最终是转化为了unsigned char(8 bit)
所以,可以赋的最大初值是memset(a,0x3f, sizeof(a)),相当于赋了1061109567,
memset(a, 0xff, sizeof(a))相当于赋-1,memset(a, 0, sizeof(a))相当于赋0,而想要赋初值1是没法实现的
memset(a,0x3f,sizeof(a)); // 1061109567,1061109567,1061109567,1061109567,1061109567
memset(a, 1, sizeof(a)); // 16843009,16843009,16843009,16843009,16843009
2. 动态开辟(new)出来的数组的头指针(p)经过sizeof运算后得到只是头指针的大小而不是整个数组的大小,所以动态开辟的数组不能用memset赋初值,如果要赋初值0的话,直接new的时候后面添一个()就行了。
int* p = new int[5](); // 0,0,0,0,0
memset(p, 1, sizeof(p)); // 16843009,0,0,0,0
delete[] p;
浅谈C++中memset函数的用法相关推荐
- 浅述numpy中argsort()函数的用法
浅述python中argsort()函数的用法 由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在pyt ...
- python3打印如何换行_浅谈Python3中print函数的换行
Python3中print函数的换行 最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来 ...
- vue 中provide的用法_[转]浅谈vue中provide和inject 用法
provide:Object | () => Object inject:Array | { [key: string]: string | Symbol | Object } provide ...
- 浅述python中argsort()函数的用法
由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在python环境下进行了测试,大概了解了其相关的用处, ...
- 浅谈Javascript中的函数重载实现
其它面向对象语言如Java的一个常见特性是:能够根据传入的不同数量量或类型的参数,通过"重载"函数来发挥不同的功用.但是这个特性在Javascript中并没有被直接支持,可是有很多 ...
- 浅谈asio中async_accept函数占用内存高的写法
相比大家都使用过asio 中的async_accpect如果使用的好,内存会占用的小,下面来看一端实列:
- vue 中provide的用法_浅谈vue中provide和inject 用法
一.概念解析 成对出现:provide和inject是成对出现的 作用:用于父组件向子孙组件传递数据 使用方法:provide在父组件中返回要传给下级的数据,inject在需要使用这个数据的子辈组件或 ...
- 浅谈Java中try catch 的用法
我们编译运行程序出错的时候,编译器就会抛出异常.抛出异常要比终止程序灵活许多,这是因为 的Java提供了一个"捕获"异常的的处理器(处理器)对异常情况进行处理. 如果没有提供处理器 ...
- java中parseint函数_浅谈 js中parseInt函数的解析
首先还是从很热门的实例parseInt("09")==0说起. parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制. 比如说pa ...
最新文章
- Microbiome:NGLess语言实现快速可重复分析宏基因组的流程NG-meta-profiler
- 2021十大科技趋势来了!阿里巴巴达摩院全新发布
- SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载
- jrebel gradle_JRebel适用于Gradle Spring Boot应用程序
- C#递归遍历指定目录下文件和文件夹
- mysql 授权指定库,mysql创建新用户并给授权指定的数据库权限
- (万里开源)greatdb mysql 8.0以上版本创建用户并授权远程连接
- 10年老分析师:数据分析不只是一个岗位,更是一种职场必备能力
- LINUX编译automake
- java byte 相等比较_Java字节码跟真正汇编的比较
- [黑客光盘2009年更新]100张黑客光盘 数百G黑客资源~~~~~~~~~~~~~
- 旅馆业治安管理信息系统
- yum安装wget命令
- redis问题及答案
- NPS, 校外连接校园网
- 假货泛滥是淘宝的毒瘤
- 3月13日云栖精选夜读 | Serverless 风暴来袭,前端工程师如何应对?...
- Design Compiler is not enabled Synopsys License制作
- 高地址和低地址、高字节低字节、大小端模式(及如何互换),存储顺序(!!)
- Day105 项目实战7 商品查询