【发布时间】:2012-01-23 16:31:39
【问题描述】:
考虑没有开发人员明确声明的destructor 和constructor 的类的情况。我知道在这种情况下,一个班级的destructor 将是implicitly declared。那么destructor是不是真的implicitly defined,只有在类的一个对象即将被销毁的时候?
构造函数的行为是否也和上面一样。 implicitly defined是不是只有在创建类的对象的时候?
编辑
class A {
public:
};
int main() {
}
在上面的代码中,~A() 将被隐式声明。我的问题是,只有当类的对象被实例化时,析构函数的定义是否真的会被隐式地进行
class A {
public:
};
int main() {
A a;
}
还是隐式定义,即使对象实例化没有完成?
【问题讨论】:
-
如果你能解释为什么这很重要,也许我们可以给出更好的答案。
-
您是否对
implicitly declared和implicitly defined进行了某种区分?我真的很难理解这个问题...... -
为了清楚起见,我添加了一些代码 sn-p。
-
@LinuxPenseur:你需要这个做什么?
-
@phresnel :我正在学习 C++ 语言的基础知识。我想对正在发生的事情有一个具体的了解。如果在我掌握了语言之后有人问我这个问题,我应该能够给出正确的答案。
标签: c++ constructor destructor explicit-constructor