【发布时间】:2015-12-06 00:48:13
【问题描述】:
它们是否曾经是必要的,或者它们是否是代码设计不佳的征兆? 如果是前者,你能举个例子吗? 如果是后者,你能解释一下使用它们的危险吗?
【问题讨论】:
-
它们通常是与 C API 接口所必需的。
-
这有点像家庭作业问题。如果您表明您已经做出了一些努力,并且可能正在寻求澄清,那会很好。但这并不明显。这里似乎也有多个问题。 Stack Overflow 上一次一个问题。
-
它们有时也可用于类型擦除。
-
A void* 它是一个指针,但它指向的类型是未知的。处理未格式化的内存。这就是 operator new 和 malloc 返回的内容:一个指向特定大小内存块的指针。
-
它们的用途是什么?当您不知道/不关心指向的内存类型时。在带有模板的 C++ 中有点不必要,但仍然是达到目的的一种手段。
标签: c++ pointers void-pointers