堆、栈的一点小建议

堆(HEAP):

NEW的东西在这里;

New分配内存时是在整个进程的内存空间分配,就是分配给这个进程的物理内存+虚拟内存(32位4G),所以地址不连续;超过4G就崩了;

速度慢,如果碰到需要从硬盘交换数据速度更慢;

需要自己delete,麻烦;

安全,一般不会撑爆进程的地址空间;

栈(STACK):

局部的东西在这里

nStackSize

Specifies the size in bytes of the stack for the new thread. If 0, the stack size defaults to the same size stack as the creating thread.

如果超过这个size就会报stack overflow,默认1M,或者2M;

速度快;

不需要自己释放,简单;

不安全,申请大数组的时候,或者被嵌套申请大数组的时候可能造成莫名崩溃;

所以,数组最好不要用最原始的,用vector等封装过的,或者自己new,自己del。

一个小习惯可能会让程序更健壮!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值