Code前端首页关于Code前端联系我们

动态内存分配:C++中使用new操作符

terry 2年前 (2023-10-01) 阅读数 127 #c++
文章标签 数据库

在C++中,可以使用new操作符动态地分配内存,这与静态内存分配是不同的,静态内存分配是在编译时期进行的,而动态内存分配是在运行时期进行的。使用动态内存分配可以让程序在运行的时候根据需要动态地创建数据结构,并且可以在不需要的时候释放内存,以提高程序的效率。

一、使用new操作符分配内存

//使用new操作符分配内存
int *p = new int; //分配一个int类型的内存空间
*p = 10; //将值10存储到分配的内存空间中
delete p; //释放内存空间

上述代码使用new操作符分配了一个int类型的内存空间,并且将值10存储到该内存空间中,最后使用delete操作符释放内存空间。

二、使用new操作符分配数组

//使用new操作符分配数组
int *p = new int[10]; //分配一个包含10个int类型元素的数组
for(int i=0;iname = "张三";
p->age = 20;
delete p; //释放内存空间

上述代码使用new操作符分配了一个Person类型的对象,并且将姓名和年龄存储到该对象中,最后使用delete操作符释放内存空间。

四、使用new操作符分配自定义类型的数组

//使用new操作符分配自定义类型的数组
class Person
{
public:
    string name;
    int age;
};
Person *p = new Person[10]; //分配一个包含10个Person类型元素的数组
for(int i=0;iname = "张三";
    (p+i)->age = i;
}
delete []p; //释放数组所占的内存空间

上述代码使用new操作符分配了一个包含10个Person类型元素的数组,并且将姓名都设置为张三,年龄依次从0~9,最后使用delete操作符释放数组所占的内存空间。

五、总结

在C++中,使用new操作符可以动态分配内存,可以分配基本数据类型,数组以及自定义类型的对象和数组,并且使用delete操作符可以释放动态分配的内存,以提高程序的效率。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门