C++编程学习(八)【杂谈】new&delete动态内存分配
前段时间楼主忙着期末大作业,停更了一段,今天刚好在做机器人课程的大作业时,和同组的小伙伴利用python做了工业机器人的在线编程,突然想起来很久没有阅读大型工程了,马上补上~ 接下来的几篇博客主要是博主提炼了在阅读大型工程中遇到的一些不常见但是又必须理解的知识点。这一篇讲讲new和delete,进而延伸到内存分配的其他知识。 new & delete 这时候就不得不提到 动态分配内存 有很多时候实现定义好存储空间、数据规模、数组大小等,但是有时候不知道,有时候程序在运行过程中才知道数据有多大,这时候数组必须用动态分配的方法。(这也是为什么用指针,动态分配过程中没法使用变量名,这时候就会返回首地址,我们必须用地址访问存储空间了)。 那么什么是 首地址 ? 首地址就是该变量所占的存储区域中的第一个单元的地址。比如定义一个数组,数组的第一个数的地址就是首地址。 (1)申请一个对象 使用方法:NEW+类型名 释放内存操作符:delete,使用方法:delete+指针p(释放指针p所指向的内存),p必须是new操作的返回值。 例如: 1 int * p =new int(123); //p指向一个值,值是123 2 delete p; (2)分配和释放动态数组 分配:new +类型名+【数组长度】 释放:delete【】+数组名 注意:这里加了【】表示释放整个数组,如果不加【