C中不可复制的结构?

时间:2019-05-01 18:55:42

标签: c

阅读此页后,我已经知道如何实现不可复制 C ++中的类。

How do I make this C++ object non-copyable?

现在我要在C语言中实现不可复制

但是我在C语言中找不到类似的代码。

所以我想问一下如何用C实现。

1 个答案:

答案 0 :(得分:4)

您可以使用opaque pointers进行此操作。这个想法是:

  • 您在某处定义一个结构,然后根据指向该结构的指针定义其所有操作。那可能是一个独立的编译单元。
  • 结构的使用者仅获得声明,而没有该结构的完整定义,这意味着他们不知道结构的布局甚至大小。因此,他们能够接收,存储和传递任何 pointers 到该结构,但不能接收它的 values