据我所知,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都有值语义时?
答案 0 :(得分:5)
据我所知,D中的地图具有价值语义。
D关联数组是引用类型。
在内部,它们表示为指向实现定义的数据结构的指针。 (请注意,如果AA为null
,则它不像引用类型,因为添加第一个成员将实例化它。)