构造/析构函数的误解

该文章通过一个C++的例子解释了类的构造函数和析构函数的作用。在函数`add`中,`Aa;`声明了一个栈上的对象`a`,它的生命周期由编译器管理,构造函数用于初始化对象,而析构函数则在对象销毁时执行。此外,文章提到了在面向对象编程中,每个成员函数都有一个隐含的`this`指针,指向对象本身。
摘要由CSDN通过智能技术生成

在一本书中, 有这样的一个例子:

class A{
	//创建一个构造函数
	A(){};
	//创建一个析构函数
	~A(){};
}

int add() {
	A a;
}

上面我首先声明了一个类, 然后我在一个普通函数中声明了这个A类型的变量,下面是我的一些问题:

A: 对象是在哪里创建的:
B: 这个a变量是一个自由变量, 所以是在栈上面创建的, 它有编译器自动分配

A: 对象和构造函数的关系
B: 这个构造函数是用来初始化闭包(一个实例)的不是用来创建对象, 也就是在内存中分配一块空间

在面向对象中, 编译器为每一个函数都绑定了一个this值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值