C++中避免使用macloc()和free()的原因是什么
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇文章给大家分享的是有关C++中避免使用macloc()和free()的原因是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Rea
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
网络安全应急演示图
工厂如何保护网络安全
免费云服务器怎么远程挂载u盘
软件测试vs软件开发
软件开发是什么作文
如何查mysql数据库用户
数据库报表中各节的作用
深圳软件开发的费用
数据库的实际运用
免费服务器推荐
永兴学it软件开发培训学校
阴阳师如何创建服务器
网络安全数据库运维
数据库的分析与设计实训报告
网络安全法律和法规
网络安全事件汇报
学历本科零基础学软件开发
数据库监控哪个牌子好
软件开发为什么烧钱
兄弟7340 打印服务器
广州欧来港互联网科技有限公司
数据库管理系统三层
阿里云服务器销售额
路由器上网怎么填dns服务器
数据库插入数据后修改数据
考网络安全工程师看什么书
IMF数据库技术流视频
数据库大于等于66怎么写
重庆互通网络技术有限公司
区域网络数据库