gpt4 book ai didi

c++ - new 运算符如何知道需要为特定类分配多少大小

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:45 25 4
gpt4 key购买 nike

在用于内存分配的 malloc 函数的情况下,我们指定我们想要分配的大小

void *malloc(8);

但如果是新的,我们不会像下面这样指定尺寸

Foo *fo = new Foo();

所以,我的问题是 new 运算符函数如何知道它需要为对象分配的大小。请解释一下,幕后发生了什么?

最佳答案

编译器已经看到了Foo的定义,所以它知道需要多少内存。 new Foo 本质上变成了两个操作: operator new(sizeof Foo) 分配内存,然后在中构造一个 Foo 对象新分配的空间。

关于c++ - new 运算符如何知道需要为特定类分配多少大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41060980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com