C++中避免使用macloc()和free()的原因是什么
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,本篇文章给大家分享的是有关C++中避免使用macloc()和free()的原因是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Rea
千家信息网最后更新 2024年11月19日C++中避免使用macloc()和free()的原因是什么
本篇文章给大家分享的是有关C++中避免使用macloc()和free()的原因是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Reason(原因)
malloc() and free() do not support construction and destruction, and do not mix well with new and delete.
malloc()和free()不支持构造和析构,和new/delete融合得也不好。
Example(示例)
class Record {
int id;
string name;
// ...
};
void use()
{
// p1 may be nullptr
// *p1 is not initialized; in particular,
// that string isn't a string, but a string-sized bag of bits
Record* p1 = static_cast(malloc(sizeof(Record)));
auto p2 = new Record;
// unless an exception is thrown, *p2 is default initialized
auto p3 = new(nothrow) Record;
// p3 may be nullptr; if not, *p3 is default initialized
// ...
delete p1; // error: cannot delete object allocated by malloc()
free(p2); // error: cannot free() object allocated by new
}
In some implementations that delete and that free() might work, or maybe they will cause run-time errors.
在某些实现的的情况下,这里delete和free()可能可以执行,也可能引起执行时错误。
以上就是C++中避免使用macloc()和free()的原因是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
原因
C++
更多
知识
篇文章
实用
不好
就是
工作会
情况
文章
看吧
知识点
示例
行业
详情
资讯
资讯频道
跟着
部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小米怎么判断网络安全性
数据库创建后怎么保存
网络安全法五十九处罚
赛迪网络安全研究所孟雪
网络安全草稿
海南仙艺网络技术有限公司
高危漏洞威胁网络安全
数据库查询工具底层使用的什么
gps为什么一直登录不了服务器
松江区优势软件开发生产厂家
软件开发感谢信
软件开发有哪些证书可以考
云南帮你互联网科技有限公司
常熟网络技术咨询有哪些
驻马店网络安全工程师零基础
手机如何连接阿里服务器快
观看网络安全 视频有感
山西一对一网络技术咨询口碑推荐
分布式图数据库kv存储
山西服务器厂商云主机
软件开发流程图设计素描
网络安全对学生的标语
生成数据库脚本还原失败
软件开发 深圳
莱山区微信公众号软件开发企业
湖北g38842图腾服务器机柜
网络安全浙江农林大学
数据库判断是否符合日期格式
武林外传服务器开服历史
为保证网络安全 维护