繁体   English   中英

C ++对象创建

[英]C++ object creation

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

现在在主要功能中,有时我看到开发人员使用不同的方法来创建对象,例如

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

我的疑问是何时应该使用案例1,何时应该使用选项2。

1)员工emp1;

这将在堆栈上创建一个默认的构造雇员。 它的生存期一直持续到超出范围为止。

2)员工emp2 =新员工

我什至没有编译过,我想你是说:

2)员工* emp2 =新员工

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM