| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> c++动态内存基础 -> 正文阅读 |
|
[C++知识库]c++动态内存基础 |
前言c/c++程序为什么需要动态内存呢? 好了,大家在了解了动态内存的重要性后,也是要迫不急待的使用动态内存里,我们以c++的new 和delete这两个表达式来说一说动态内存的基本知识。 使用new初始化对象对于c++程序来说,初始化变量很重要,我们一定要养成初始化的好习惯! (有的编译器甚至会直接报错!使用未初始化的变量) 在自由空间(堆区)分配的对象是无名的,我们需要一个指针去接受它的地址,进而对地址操作(达到了操作这个地址上的值的目的)
我们可以使用直接初始化的方式,在c++11下,也可以使用列表初始化,来看代码:
我们也可以使用值初始化的方式,我们需要在类型的后面加上一对空 (),初始化动态内存分配的对象,
我们可以使用auto 来帮助行类型推断,我们需要在类型的后面加上一对空 ()
动态分配const 对象也是可行的,我们可以要知道分配const的对象一定是要进行初始化的!
delete对于分配好的动态内存,使用完之后,一定要及时释放掉,将这片内存归还给操作系统,因为是程序员来决定动态内存的生存期,如果我们不主动释放这片内存的话,它会随着程序的运行一直存在,如果堆区没有空间可以分配了呢,这就会造成内存耗尽。 c++提供了delete表达式来将申请的动态内存归还给操作系统
new 和数组大多数的时候我们还是使用很多值的操作的时候,我们就有必要了解new和数组的操作了。
方括号的值必须为整形·,但不必为常量。 我们可以使用数组类型的别名来分配动态内存:
分配动态数组时,我们实际只是得到这种类型的指针!所以以下的注意很重要
初始化动态分配的数组:
动态分配一个空数组的时候是合法的吗? 虽然我们不能创建一个大小为0的静态数组,但是我们可以动态分配一个大小为0的动态数组!
如前面说的一样,使用好的动态数组我们作为程序员要主动释放掉:
好了,博客就到这了, |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 20:34:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |