gpt4 book ai didi

c++ - C++ 中的 "new"关键字有什么问题?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:22 25 4
gpt4 key购买 nike

我知道这听起来像是一个愚蠢的问题,但为什么我会收到类似“

cannot convert Object* to Object

"当我尝试使用语句 "

实例化一个新对象时
Object obj = new Object();

“?

我是否理解“new”关键字是为指针保留的?还是其他原因?

最佳答案

Object* obj = new Object();

new 始终返回指向对象的指针。

如果您只写Object obj,这意味着obj 将保存对象本身。如果它在函数内部以这种方式声明,那么内存将在堆栈上分配,并在您离开该函数后被删除。 new 在堆上分配内存,因此可以从函数返回指针。请注意,指针也可以指向本地(堆栈)变量。

关于c++ - C++ 中的 "new"关键字有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716994/

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