在工厂函数中,有时我只想返回一个新创建的空关联数组。
一种方法是这样的:
auto make_dict()
{ int[char] dict; return dict; }
有没有办法避免声明局部变量
dict
?类似的东西auto make_dict()
{ return int[char]; }
或者,
auto make_dict()
{ return int[char](); }
或者,
auto make_dict()
{ return new int[char]; }
由于与需要如何声明关联数组相关的原因,这些都不起作用。有办法吗?
最佳答案
您可以使用
return (int[char]).init;
所以你不必声明它。
所有类型的 init 属性表示该类型的默认初始化值(引用为 null,空动态数组和空关联数组,使用当前实现)
关于D 语言 : Return freshly created associative array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14293999/