【发布时间】:2010-03-23 12:43:03
【问题描述】:
看起来operator new 和operator new[] 具有完全相同的签名:
void* operator new( size_t size );
void* operator new[]( size_t size );
并做同样的事情:要么返回一个指向足够大的原始(未以任何方式初始化)内存块的指针,要么抛出异常。
当我使用new 和operator new[] 创建对象时,在内部调用operator new - 当我使用new[] 创建对象数组时。上述两个特殊函数在 C++ 内部以完全相同的方式调用,我看不出这两个调用有什么不同的含义。
让两个不同的函数具有完全相同的签名和完全相同的行为的目的是什么?
【问题讨论】:
标签: c++ memory-management