C++——堆、栈、静态存储区

  静态存储区
生命周期 函数结束即释放

new,malloc开辟,delete,free释放

释放前,一直存在

最长,程序退出才释放
存储类型 程序、局部变量

new,malloc申请的空间,用于存储数据

常量

static 修饰的变量,用于存储数据
大小 VS2010默认1M

VS2010,x32-2G;x64-128G(虚拟更多)

VS2010默认2G

1.三者比较

2.new和malloc比较

  new malloc()
属性 C++关键字,操作符 库函数
参数 无须指定内存块的大小 需要
返回类型 类型严格与对象匹配 void*,要强制转换
分配失败 抛出bac_alloc异常 返回NULL
自定义类型 支持  
重载 允许重载 不允许
内存区域 自由存储区(free store)
     

3.运行过程解析

原文地址:https://www.cnblogs.com/yrm1160029237/p/10368526.html