D中关联数组的常数

时间:2014-01-12 19:12:17

标签: map const d associative-array pass-by-value

据我所知,D中的地图具有价值语义。

如果是这样,为什么本例中的第二行失败

const(uint[ubyte]) x;
uint[ubyte] y = x;

作为

Error: cannot implicitly convert expression (x) of type const(uint[ubyte]) to uint[ubyte]

当key和value都有值语义时?

1 个答案:

答案 0 :(得分:5)

  

据我所知,D中的地图具有价值语义。

D关联数组是引用类型。

在内部,它们表示为指向实现定义的数据结构的指针。 (请注意,如果AA为null,则它不像引用类型,因为添加第一个成员将实例化它。)