为了账号安全,请及时绑定邮箱和手机立即绑定
栈:程序每调用一个函数后,建立一个新的栈帧保存当前调用函数的所有局部变量,也就是说每个函数里面的变量都是在这个函数的栈帧内,
堆:程序运行过程中,向操作系统(OS)申请的系统内存(Mem),系统返回堆空间的地址。

栈帧:变量的所在地 ,变量可直接存取数值
堆:向系统申请的内存空间,通过函数内的指针变量,赋值指针申请内存返回的地址,用于存取堆空间里的数据
不同之处:
栈帧在函数结束时会自动释放,
堆则需要主动申请释放,或者等程序运行结束。
操作系统会自动释放程序运行期间申请的内存空间。
详细请看操作系统原理,编译原理,或者反汇编原理。
老师讲的没有错,只不过没基础的会懵。
若有错误请指出。满字
我就想知道,谁眼神那么好!!!!
哈哈哈哈哈哈,就我一个看不见吗
把delete哪行删掉就行了
卡卡西:这年头,看个视频都要开写轮眼 都快瞎了
老师,从堆中实例化和从栈中实例化实际应用时有什么选择依据吗?不明白为什么要有两种实例化方法;
不是想说啥说啥,咋都那么学术呢?
调用默认构造函数实例化对象 Student stu(); 后面有扩号编译将报错,不加扩号Student stu;编译正常。
表白老师,嘻嘻,讲得超级棒。
老师讲的很用心,希望以后可以出更好的视频。
1.5倍学习中
int main(void)
{
// 通过new方式实例化对象*stu
Student *stu = new Student();
// 更改对象的数据成员为“慕课网”
stu->setName("慕课网");
// 打印对象的数据成员
stu->getName();
Student stu1("慕课网");
Student stu2= stu1;
stu2.getName();
Student stu3(stu1);
delete stu;
stu = NULL;
return 0;
}
类外定义~~~
要想看析构函数效果,可以搞个函数撒,把对象当参数传进去。函数执行完毕,函数内的变量生命周期就结束了。
课程须知
本课程是C++初级课程 需要熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、类的定义与对象实例化 2、string类型及属性封装 3、类外定义 4、构造函数与初始化列表 5、析构函数

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消