在 D 语言中,'new' 关键字用于在堆上分配内存并返回其地址。它可以用于分配各种类型的数据,包括基本数据类型、数组、结构体和类对象等。以下是一些用法示例:

  1. 分配单个变量:
int* ptr = new int(42);

这将在堆上分配一个 'int' 类型的变量,并将其初始化为 42。指向该变量的指针将被分配给 'ptr'。

  1. 分配数组:
int[] arr = new int[10];

这将在堆上分配一个包含 10 个 'int' 类型元素的数组。指向该数组的指针将被分配给 'arr'。

  1. 分配结构体:
struct Point {
    int x;
    int y;
}

Point* p = new Point(1, 2);

这将在堆上分配一个 'Point' 结构体,并将其初始化为 x=1,y=2。指向该结构体的指针将被分配给 'p'。

  1. 分配类对象:
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;
D语言 new 关键字详解:分配各种数据类型及实例

原文地址: https://www.cveoy.top/t/topic/ohkJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录