c++中的new运算符
时间: 2023-10-31 09:19:52 浏览: 101
详解C++中new运算符和delete运算符的使用
在C语言中,new运算符主要用于动态分配内存空间。在Visual C 5.0及更早的版本中,使用new运算符分配非类类型和所有数组(不管数组元素是否为类类型)都会调用全局的operator new函数。从Visual C 5.0以后,编译器开始支持成员数组new和delete函数。在这些新版本中,可以通过重载类的operator new函数来自定义内存分配行为。例如,在给定的例子中,MyClass类重载了operator new[]函数,使其返回0,以实现禁止分配内存的功能。
此外,在C中也可以使用全局的operator new函数来动态分配内存空间。例如,引用和引用中展示了使用T::operator new和::operator new的语法。其中,T::operator new是类T的成员函数,而::operator new是全局的operator new函数。这两个函数的第一个参数是编译器自动添加的,用于指定要分配的内存的大小。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++中运算符new的深入讲解](https://blog.csdn.net/mary288267/article/details/129811443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文