LS的说得貌似都有问题...
构造函数只负责实例化对象(注意: 不一定是初始化,除非你用了初始化列表)..而对象的分配工作是编译器做的..
class A
{
public:
A() { i=2; } //如果调用它,那么i是赋值行为
A(int i_): i(i_) {} //调用它,那么是初始化行为
private:
int i;
};
析构函数也不会销毁任何变量...它负责的是一些清理工作,例如动态内存的释放,不然就内存泄漏了...
由对象布局的知识我们可以知道,对于栈上分配的对象,也只不过是个集合,通过移动栈指针,就把该对象释放了...
关于构造和析构问题,貌似也有很多知识~~~