21xrx.com
2024-12-23 00:54:13 Monday
登录
文章检索 我的文章 写文章
C++中new的含义
2023-06-23 01:35:26 深夜i     --     --
动态内存分配 对象指针 堆内存 构造函数 delete操作

在C++中,new是用来动态分配内存,并返回该内存地址的一个关键字。它的作用类似于C语言中的malloc()函数。new关键字能够在程序运行时确定内存的大小,并且在运行时分配内存,因此可以方便地在程序中动态地创建对象。

使用new时需要指明创建的对象的类型,并且可以在new后加上构造函数的参数来初始化该对象。例如,可以通过以下方式创建一个名为obj的对象:


class MyClass {

 public:

  MyClass(int val) : value(val) {}

 private:

  int value;

};

MyClass* obj = new MyClass(42);

在这个例子中,通过new关键字创建了一个MyClass对象,并将一个整数值42传递给它的构造函数。该对象的指针被存储在obj变量中。注意到在堆上分配的内存需要手动释放,因此需要调用delete关键字将其释放。示例如下:


delete obj;

这将会删除之前new申请的内存,并释放由该对象占用的空间。

总之,new是C++中用来动态分配内存的关键字,能够方便地创建对象,并能够在程序运行时确定内存大小,非常灵活和方便。在使用完成后需要将所申请的内存手动释放,否则可能会出现内存泄漏等问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章