D语言:返回新创建的关联数组

jog*_*pan 4 associative-array factory d

在工厂函数中,我有时只想返回一个新创建的空关联数组.

一种方法是:

auto make_dict()
{ int[char] dict; return dict; }
Run Code Online (Sandbox Code Playgroud)

有没有办法避免声明局部变量dict?有点像

auto make_dict()
{ return int[char]; }
Run Code Online (Sandbox Code Playgroud)

要么,

auto make_dict()
{ return int[char](); }
Run Code Online (Sandbox Code Playgroud)

要么,

auto make_dict()
{ return new int[char]; }
Run Code Online (Sandbox Code Playgroud)

由于与需要如何声明关联数组相关的原因,这些都不起作用.有办法吗?

rat*_*eak 9

您可以使用

return (int[char]).init;
Run Code Online (Sandbox Code Playgroud)

所以你不必申报.

所有类型的init属性表示该类型的默认初始化值(引用为null,空动态数组和空关联数组,具有当前实现)