gpt4 book ai didi

C++ 对象创建

转载 作者:行者123 更新时间:2023-11-30 03:05:17 25 4
gpt4 key购买 nike

我对用C++创建对象有疑问。
假设我有一个名为 Employee 的类,其中包含一些数据成员和方法。

现在在 main 函数中,有时我看到开发人员使用不同的方法来创建对象,例如

Employee emp1;                // 1)
Employee emp2 = new Employee // 2)

我的疑问是我们什么时候应该使用案例 1,什么时候使用选项 2。

最佳答案

1) Employee emp1;

这会在堆栈中创建一个默认构造的员工。它的生命周期一直持续到它超出范围。

2) Employee emp2 = new Employee

这可能甚至无法编译,我猜你的意思是:

2) Employee *emp2 = new Employee

这会在堆上创建一个默认构造的员工,并将其地址分配给员工指针。它的生命周期一直持续到 delete 对其调用为止。

它们是两个完全不同的东西。在您了解更多之前,您可能希望坚持使用第一个版本。了解更多信息后,您也应该坚持使用第一个版本,除非您知道并理解不这样做的原因。

关于C++ 对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814935/

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