D语言 new 关键字详解:分配各种数据类型及实例
在 D 语言中,'new' 关键字用于在堆上分配内存并返回其地址。它可以用于分配各种类型的数据,包括基本数据类型、数组、结构体和类对象等。以下是一些用法示例:
- 分配单个变量:
int* ptr = new int(42);
这将在堆上分配一个 'int' 类型的变量,并将其初始化为 42。指向该变量的指针将被分配给 'ptr'。
- 分配数组:
int[] arr = new int[10];
这将在堆上分配一个包含 10 个 'int' 类型元素的数组。指向该数组的指针将被分配给 'arr'。
- 分配结构体:
struct Point {
int x;
int y;
}
Point* p = new Point(1, 2);
这将在堆上分配一个 'Point' 结构体,并将其初始化为 x=1,y=2。指向该结构体的指针将被分配给 'p'。
- 分配类对象:
class MyClass {
int x;
int y;
}
MyClass* obj = new MyClass();
这将在堆上分配一个 'MyClass' 类的实例,并将其初始化为默认值(x 和 y 都为 0)。指向该对象的指针将被分配给 'obj'。
需要注意的是,使用 'new' 分配的内存需要手动释放,否则会导致内存泄漏。可以使用 'delete' 关键字来释放内存:
delete ptr;
delete[] arr;
delete p;
delete obj;
原文地址: https://www.cveoy.top/t/topic/ohkJ 著作权归作者所有。请勿转载和采集!