在一本书中, 有这样的一个例子:
class A{
//创建一个构造函数
A(){};
//创建一个析构函数
~A(){};
}
int add() {
A a;
}
上面我首先声明了一个类, 然后我在一个普通函数中声明了这个A类型的变量,下面是我的一些问题:
A: 对象是在哪里创建的:
B: 这个a变量是一个自由变量, 所以是在栈上面创建的, 它有编译器自动分配
A: 对象和构造函数的关系
B: 这个构造函数是用来初始化闭包(一个实例)的不是用来创建对象, 也就是在内存中分配一块空间
在面向对象中, 编译器为每一个函数都绑定了一个this值