原文
問題是何時配置設定
[1,2,3]
到
棧
上,何時配置設定到
GC
堆上?
要點:
1
.在C中,它是在
棧
上配置設定的.
D
配置設定其到
堆
,這裡有點令人驚訝,盡管D在
C之前
就有這樣的
字面
2
.在
堆
上配置設定表明它在
@nogc
代碼中
不可用
.
3
.編寫
表達式
時,
放在棧上
的唯一方法是給它
指派
不友善又低效的
域變量
.
4
.它違背了
簡單
代碼應比
複雜
代碼更有效的想法
是以,我提出以下建議:
[1,2,3]
始終在
棧
上配置設定
[1,2,3].dup
始終在
堆
上配置設定
且是以
行為
不依賴于
推導
.
不要!可顯式
請求
在棧上配置設定:
int[3] = [1, 2, 3];
問題是它的
重複性
.以前已提出過,隻需要:
int[$] = [1, 2, 3];