#include <iostream>
#include <string>
int main()
{
/* 静态数组的使用存在两个问题:
* 1: 限制了容量,容量大小不可调节
* 2: 降低了系统性能,当我仅存在一个数据时,其他99个空间将是被浪费的
*/
int arrayNum[100] = {1, 2}; //静态内存分配,大小固定,使用过程中不可改变
/* 动态内存分配new,解决了上面的两个问题,但要注意一下几点:
* 0:使用new是要指定数据类型
* 1:new返回的是一个内存地址,要先定义一个指针,然后将new返回的值赋值给指针
* 2:使用完new之后,一定要使用delete进行内存释放,否则会造成内存泄露
* 3:使用new[...]分配的内存块,要使用delete[]来释放
* 4:delete只是把指针的内存释放了,指针地址并没有赋值为NULL,指针还指向随机地址
* 5:最好先检查new返回的地址是否不为NULL,然后再使用
* 6:不可delete同一个指针两次,第一次delete后,指针为随机值,第二次再delete,程序可能会崩溃
*/
/*1 new delete基础知识*/
第十四节 C++ - new和delete讲解
最新推荐文章于 2022-10-20 19:31:22 发布
本文详细介绍了C++中动态内存分配的关键字new和delete的使用,通过实例展示了如何分配和释放内存。文章提及了new运算符为整型变量分配内存并初始化,以及对string类型的sizeof()和length()函数的用法。
摘要由CSDN通过智能技术生成