首页 > 后端开发 > C++ > 新运营商与新运营商:有什么区别?

新运营商与新运营商:有什么区别?

DDD
发布: 2024-12-09 12:12:15
原创
966 人浏览过

New Operator vs. Operator New: What's the Difference?

New 运算符与 New 运算符

在处理 C 中的内存管理时,了解“new 运算符”和“operator”之间的区别new” 至关重要。

运算符New

运算符 new 是分配原始内存的内置函数。概念上与 malloc() 类似,它返回一个指向已分配内存的 void 指针。与 malloc() 不同,operator new 可以通过显式内存分配请求直接调用:

void *x = operator new(100);
登录后复制

此外,operator new 可以全局重载或针对特定类来自定义内存分配。这通常是为了处理特殊情况或实现自定义内存管理策略。

New 运算符

new 运算符用于动态创建指定类型的对象免费商店。它结合了operator new和类的构造函数来执行以下操作:

  1. 使用operator new分配内存。
  2. 调用对象的构造函数来初始化它。
  3. 返回指向新创建的对象的指针。

使用新创建的对象运算符:

my_class *x = new my_class(0);
登录后复制

主要区别

运算符 new:

  • 仅分配原始内存。
  • 可以直接调用或重载。
  • 返回 void指针。

New 运算符:

  • 使用运算符 new 分配内存。
  • 调用构造函数创建对象。
  • 返回指向实例化对象的指针。

以上是新运营商与新运营商:有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板