确定C++中new运算符分配的内存大小

Nru*_*nga 4 c++ memory-management

如何确定C++ new运算符分配的内存大小.?

在C中,malloc具有以下语法:

void *malloc(size_t size);
Run Code Online (Sandbox Code Playgroud)

在这里我们知道我们分配的大小.

但是在C++中,我们如何确定在进行内存分配时分配的大小如下所示.我很想知道如何new确定需要分配的大小.

foo *pFoo = new foo();
Run Code Online (Sandbox Code Playgroud)

650*_*502 5

C++运算符new分配sizeof(T)字节(使用标准全局分配器::operator new(size_t)或自定义分配器(T如果已定义)).

之后,它调用构造函数(第一个基础和其他子对象,然后是构造函数T).

然而,一些被调用的构造函数分配更多内存是可能的,甚至是常见的.