C++内存分配的方式
来源:互联网 发布:java开发需要掌握技术 编辑:程序博客网 时间:2024/06/04 08:51
前几天在线笔试的时候最后一道题就是问这个,但是自己只答了栈和堆,查了资料来补充说明:
C++内存分配的方式有3种:
1.从静态存储区分配,程序在编译的时候就已经分配好了,并且在整个运行期间都存在,比如静态变量和全局变量。
ps:实际上静态变量和全局变量你如果不初始化,系统会自动帮你初始化为0。
2.在栈上创建,函数参数和内部的非静态局部变量(包括数组),以及一些函数返回值;其开辟和释放都是由操作
系统帮我们完成,在VS下我们可以在项目》属性》链接器》系统》堆栈保留大小中设置,单位是 字节
3.在堆上分配,也称为动态内存分配。在程序运行时用malloc和new分配,必须有我们手动用free和delete回收,
否则就会出现内存泄漏!避免内存泄漏的方式就是用RAII机制,可以将其封装为一个类,在对象出了作用域时就会
调用析构函数并释放内存;在堆上分配的内存方便我们灵活的运用内存,但是也极易出现内存泄漏等恶劣影响,所
以我们要谨慎使用它。
----------------参考《高质量的C C++编程》7.1节
阅读全文
0 0
- C/C++:程序的内存分配方式
- C/C++:程序的内存分配方式
- C/C++:程序的内存分配方式
- C/C++:程序的内存分配方式
- C/C++:程序的内存分配方式
- C内存分配方式
- C 内存分配方式
- C的内存分配释放方式学习
- C\C++的内存分配方式
- C语言程序的内存分配方式
- C中内存分配的方式
- C语言程序的内存分配方式
- C/C++程序的内存分配方式
- C与C++的内存分配方式
- C语言程序的内存分配方式
- 内存的分配方式
- 内存的分配方式
- 内存分配的方式
- Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,
- 富士通2016年RFID标签销售逾1亿张
- java数据库编程--MySQL数据库
- Https单向认证和双向认证
- 忍耐过现实,我们就可以更像大人了
- C++内存分配的方式
- Nginx反向代理和负载均衡部署指南
- 笔记—自定义View之属性动画上手篇
- JavaScript深入之变量对象
- Windows下安装并设置Redis
- hdu6205 尺取法
- 51nod 1718 Cos的多项式(规律)
- Maven构建Spring Boot+mybatis+通用Mapper
- 【LEDE】树莓派上玩LEDE终极指南-91-移植MariaDB到LEDE上