D 语言 : Return freshly created associative array

标签 d associative-array factory

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

一种方法是这样的:

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/

相关文章:

arrays - 错误 : ArrayBoundsError when using variable

regex - std.regex.regex 的返回值?

reflection - 在 D 中,如何在编译时枚举结构或类中的名称和类型?

PHP 计算 bool 数组中真值的个数

d - 我正在寻找 D 语言的免费 3d 游戏引擎

返回 mysql_fetch_assoc() 的 PHP 函数会导致基于索引的数组?

javascript - 以对象作为键(不是字符串而是唯一对象)的关联映射的 javascript 方法是什么?

c++ - 由于缺乏反射,在 C++ 中不可避免地会有一个大的 switch block 吗?

design-patterns - 过度使用工厂模式

design-patterns - 工厂、抽象工厂和工厂方法