gpt4 book ai didi

arrays - 如何在没有GC分配的情况下初始化D中的静态数组?

转载 作者:行者123 更新时间:2023-12-04 03:23:07 24 4
gpt4 key购买 nike

在D中,所有数组文字都是动态数组,因此由GC分配。

即使在这个简单的示例中:

int[3] a = [10, 20, 30];

数组是堆分配的,然后复制到 a

您应该如何在没有堆分配的情况下初始化静态数组?

您可以手动执行以下操作:
int[3] a = void;
a[0] = 10;
a[1] = 20;
a[2] = 30;

但这充其量是乏味的。

有没有更好的办法?

最佳答案

static const int[3] a = [10, 20, 30];

这将在数​​据段中放置一个常量副本。您可以使用简单的分配( auto copy = a;)在堆栈上创建一个副本(不涉及堆分配)。

关于arrays - 如何在没有GC分配的情况下初始化D中的静态数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com