3.C++基础学习 堆heap栈stack

栈:

存在于每个作用域(scope)中的一块内存空间,生命期:出了作用域就自动释放,析构函数就被调用,auto object
如果是指针,生命期结束的是指针,原有分配的内存就会泄露

由操作系统提供的一块全局的内存空间,需要手动释放

class Complex{...}
..
x4:Complex c4(4,5)
int main()
{
x1:Complex c1(1,2);
x2:Comeplex* p = new Complex(3);
x3:static Complex c2(1,2)
}

x1 是存在于栈中的
x2是存在于堆中的,因为是向操作系统动态分配了一块内存,当作用域结束后,这个内存仍然在被使用,需要手动释放掉这部分内存,delete掉
x3:生命在作用域结束后仍然run在
x4:是全局函数,作用域是整个程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值