在 D 中,immutable
是可传递的,因此禁止对不可变结构的任何字段赋值。据我了解,强烈保证不可变结构变量永远不会改变,它的所有内容也是如此。
但是,如果我宣布了这样的事情呢?
struct OpaqueData;
immutable(OpaqueData*) data;
D 如何保证未在 D 中实现且可能具有间接性的结构的传递不变性?
将这种指向不透明数据的指针封装在不可变类中的正确方法是什么?
在 D 中,immutable
是可传递的,因此禁止对不可变结构的任何字段赋值。据我了解,强烈保证不可变结构变量永远不会改变,它的所有内容也是如此。
但是,如果我宣布了这样的事情呢?
struct OpaqueData;
immutable(OpaqueData*) data;
D 如何保证未在 D 中实现且可能具有间接性的结构的传递不变性?
将这种指向不透明数据的指针封装在不可变类中的正确方法是什么?