在工厂函数中,我有时只想返回一个新创建的空关联数组。
这样做的一种方法是:
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]; }
这些都不起作用,原因与需要如何声明关联数组有关。有办法吗?
答案 0 :(得分:9)
你可以使用
return (int[char]).init;
所以你不必申报。
所有类型的init属性表示该类型的默认初始化值(引用为null,空动态数组和空关联数组,具有当前实现)