C++ ZeroMemory和memset

article/2025/11/4 22:08:35

为什么80%的码农都做不了架构师?>>>   hot3.png

一、memset

void *memset(void *s,int ch,size_t n); 

由C Run-time Library提供的提供的函数,作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。由于是语言层面提供,所以可跨平台使用。

参考:http://www.cplusplus.com/reference/cstring/memset/

示例:

char str[] = "almost every programmer should know memset!";  
memset (str,'-',6);  
puts (str);

输出:

------ every programmer should know memset!  

        memset是逐字节进行填充,所以s一般为char *型。对于其它类型的s,可以填充的值有两个,0和-1。这是因为计算机中用二进制补码表示数字,0和二进制补码为全0,-1的二进制补码为全1。

二、ZeroMemory

#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))  
#define ZeroMemory RtlZeroMemory  

由此可见:

  1. ZeroMemory实际是用memset实现的。
  2. ZeroMemory只能用于windows平台。

注意:

        ZeroMemory和memset且于清零时,会将结构中所有字节置0,如果结构体中有虚函数或结构体成员中有虚函数,则会将虚函数指针置0,如果后续程序调用虚函数,空指针很可能导致程序崩溃!

        因此,有虚函数或成员中有虚函数的结构体初始化,一定要用构造函数来完成。

        另外,如果一个类的结构中包含STL模板(Vector、List、Map等等),那么使用ZeroMemory对这个类的对象中进行清零操作也会引起一系列的崩溃问题(指针指向内存错误、迭代器越界访问等)。所以,再次强烈建议:类(class)只使用构造函数进行初始化,不要调用ZeroMemory进行清零操作。

转载于:https://my.oschina.net/shou1156226/blog/761785


http://chatgpt.dhexx.cn/article/hjwZUJ5Y.shtml

相关文章

ZeroMemory

ZeroMemory() ZeroMemory宏用0来填充一块内存区域。 为了避免优化编译器的意外的影响,请使用SecureZeroMemory函数。 void ZeroMemory( PVOID Destination, SIZE_T Length ); 参数: Destination :指向一块准备用0来填充的内存区域的开始地址。 Length :…

长文件名和短文件名

2019独角兽企业重金招聘Python工程师标准>>> 文件命名时有一个8.3规则 8是指文件名,就是******.XXX里的***意思是这个部分不能超过8个字符,在DOS里,如果超过8个字符了是不会被识别的.后面的XXX是扩展名,也不一定非得是…

关于Windows10 文件名最大长度260

直接上官方文档: Maximum Path Length Limitation - Win32 apps | Microsoft DocsMaximum path length limitation.https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabspowershell但是文档中关于文件全路径最长260的设定&a…

自定义文件名长度,随机重命名文件名称

一些文件名称可能太长,很多人问如何自定义长度,随机重命名出每个文件名称呢?如何用第三方的工具来批量操作呢?在众多的文件批量重命名软件中【文件批量改名高手】算是操作简单。易懂的软件了,下面一起来操作步骤吧。 …

windows文件名太长(超255字符)无法重新命名

问题描述: 最近下载了一个mp4课件,文件名称太长,试过网上注册表与组策略方法来重命名,均无效 [尝试的方法链接] 解决措施: 用vscode编译器打开文件的上一级目录在vscode的资源编译器中修改对应文件的文件名退出vscod…

linux 查看文件名和路径最大长度限制

文件查看方式 cat /usr/include/linux/limits.h命令查看方式 文件名最大长度限制 getconf NAME_MAX /usr路径最大长度限制 getconf PATH_MAX /usr

[WinError 206] 文件名或扩展名太长(组策略值修改 解除windows文件名 字符长度限制)

Windows 历来将路径长度限制为 260 个字符。这意味着比这更长的路径将导致编程语言相关路径函数无法解析并且会导致错误。 在最新版本的 Windows 中,此限制可以扩展到大约 32,000 个字符。 解决办法: windows键R键打开运行窗口,再输入regedi…

【python量化】统计套利之配对交易策略实现(基于python)

关于做统计套利所需要的基本知识在前面也整理过了: 时间序列分析之ADF检验 时间序列分析之协整检验 时间序列分析之相关性 下面用python实现一个简单的配对交易策略: 目录 一、交易对象选取 相关性检验 ADF检验 协整检验 二、主体策略 投资组合…

使用数据驱动进行配对交易:简单交易策略

作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 使用数据驱动进行配对交易:简单交易策略 配对交易是一个纯基于数学分析的一个非常好的例子。接下里的文章,我们将演示如何去利用数据来创建一个自动化…

【Python】使用tushare完成配对交易策略

tushare ID:495023 分析对象:茅台&五粮液,获取上述股票2020/1/1到2021/12/31的股票数据, 1.可视化价差spread、z-score 2.产生并可视化交易信号:上升交易信号、下降交易信号 3.计算策略的累计效益,可视…

量化投资实战(二)之配对交易策略---最短距离法

点赞、关注再看,养成良好习惯 Life is short, U need Python 初学量化投资实战,[快来点我吧] 配对交易策略实战—最短距离法 基本流程 配对组合 --> 计算价差 --> 决策标准 --> 确定头寸 --> 平仓获利 一、股票对的选取 读取数据 import p…

配对交易(一):期货品种相关性研究

配对交易定义 配对交易是一种基于数学分析交易策略,其盈利模式是通过两只证券的差价(spread)来获取,理论上可以做到和大盘走势完全无关。但其本质上是一种统计套利,也具有一定的风险性。 基本原理 配对交易的基本原理…

高频交易——当期货配对交易加入了止损

高频交易——当期货配对交易加入了止损 idea数据介绍配对交易寻找配对标的相关性协整性 策略构建回测结果 总结核心代码示例 idea 目前在配对交易的识别上比较有代表性的是根据二者的相关性来判断,也有根据标的之间协整性来进行选择的,在这里我们结合两…

量化投资实战(三)之配对交易策略---协整法

点赞、关注再看,养成良好习惯 Life is short, U need Python 初学量化投资实战,[快来点我吧] 配对交易策略实战—协整法 基本流程 配对组合 --> 计算价差 --> 决策标准 --> 确定头寸 --> 平仓获利 案例描述 本案例以上证50股票数据为对象、…

原创 | 以ETF为例——配对交易Python源码全公开

配对交易是指八十年代中期华尔街著名投行Morgan Stanley的数量交易员Nunzio Tartaglia成立的一个数量分析团队提出的一种市场中性投资策略。 在实际操作中,其执行过程可以简单地描述为:投资者首先选择相互匹配的两个资产,当配对资产价格差异增…

配对交易之统计套利配对:协整(cointegration)

Engle和Granger观察到了一个相当有趣的现象。尽管两个时间序列是非平稳的,但在某些情况下,两者的特定线性组合实际上是平稳的;也就是说,这两个序列在某种程度上是步调一致的。Engle和Granger创造了“协整”(cointegrat…

【量化】相关系数进行配对交易

根据统计数据,对价差进行买卖,而不去做股票本身趋势的预测,是否能做到旱涝保收呢。下面是利用股票对之间的相关系数来进行配对交易的研究。 1,首先想到利用统计套利,可能会想到两只股票的相关系数是否会让两只股票的走…

USDCNY--USDCNH 配对交易___境内及离岸人民币即期的协整关系及配对交易策略分析

由于中国没有实现资本项下的可自由兑换,目前人民币的外汇交易存在境内及境外两个市场。在境内交易的CNY和境外交易的CNH,本质都是人民币,从这个角度上看,两者具有高度相关性。但是由于两者的市场形态、监管细节、参与机构、流动性…

沪深300配对交易

目录 获取数据相关系数三级目录协整检验聚类算法进一步筛选回测 获取数据 通过pandas_datareader来获取沪深300的股票数据,为此,先从网上爬虫得到沪深300的股票名单 import os import pandas as pd import pandas_datareader as web import pickle imp…

配对交易策略设计

可交易的一个关键要求是两个股票的对数价格序列之间存在均衡关系。 而均衡关系由两个值描述:协整系数以及均衡值。一旦确定这两个值,它们就可以用来构建两种股票的对数价格的线性组合,即所谓的价差。配对交易是对价差均值回归特性的押注。当…