我正在查看使用 C 语言编写的库的 C# 程序的源代码。我遇到了这一行,但不确定它是什么:
cvbimUNSAFE.GetImageVPA ((cvbim.IMG)cvImg.Image, 0, (void**)&lpImageBits, &pVPAT);
什么是 void **
类型的对象?我进行了一些 Google 搜索,只能找到有关 void*
的信息,如果我理解正确的话,它是一种指向某种捕获所有顶级类型的指针。
最佳答案
它是一个指向未指定对象的指针。基本上,只需将其视为指向原始内存指针的内存指针即可。
所以,int**
是一个指向 int
的指针,而 void**
是一个指向指针的指针,但未指定该指针指向什么。
I did some google searches and could only find information about void*, which is a pointer to a sort of catch all top level type, if I understood correctly.
不完全是。 void*
是指向某个东西的指针,它只是没有指定那个东西是什么,应该只被认为是指向你必须应用一些结构的原始内存块的指针。例如,malloc
返回一个 void*
,因为它返回一个指向原始内存块的指针。
关于c# - C# 中的 void** 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205541/