需要透明类型的好处和情况是什么?

问题描述:

Using opaque types是隐藏类型结构的可接受方法。但为什么不一直使用它们?有什么好处和需要透明类型的情况,尤其是在C语言中?需要透明类型的好处和情况是什么?

不透明类型要求您为任务(如赋值,比较,格式化I/O,成员访问等等)编写完整的API,这可能会也可能不值得。

而且,有时使用普通老标量的正确答案;你会使用不透明的类型来存储平均值吗?数数?

不透明类型的编写和使用要复杂得多,因为你必须用功能,甚至分配和初始化来做所有事情。

对于“透明”类型,您可以使用该类型的变量作为普通数据。例如,如果底层类型是算术,你会做一些计算。或者,如果它是struct,则可以直接使用这些成员。