【发布时间】:2017-01-26 07:25:48
【问题描述】:
Using opaque types 是一种可接受的隐藏类型结构的方法。但是为什么不一直使用它们呢?需要透明类型的好处和情况是什么,尤其是在 C 语言中?
【问题讨论】:
Using opaque types 是一种可接受的隐藏类型结构的方法。但是为什么不一直使用它们呢?需要透明类型的好处和情况是什么,尤其是在 C 语言中?
【问题讨论】:
不透明类型的编写和使用要复杂得多,因为您必须使用函数来完成所有事情,甚至是分配和初始化。
使用“透明”类型,您可以将该类型的变量用作普通数据。例如,如果基础类型是算术,你会做一些计算。或者,如果是struct,则直接使用成员。
【讨论】:
不透明类型要求您为分配、比较、格式化 I/O、成员访问等任务编写完整的 API,这可能值得,也可能不值得。
而且,有时,使用简单的旧标量是正确答案;您会使用不透明类型来存储平均值吗?计数?
【讨论】: