首页
社区
课程
招聘
[已经解决]请问(void **)是怎么回事?
发表于: 2009-5-19 10:45 5266

[已经解决]请问(void **)是怎么回事?

2009-5-19 10:45
5266
我看了这个代码   
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
                        IID_IGraphBuilder, (void **)&pGraph);

就晕了 指针前面加了一个(void **) ,我查过在网上到是能找到这样写的代码,但是,没有查到为什么是这样写?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
那是无类型指针的无类型指针变量,API函数定义中已经说明了((void **)和(LPVOID *)是同样的类型)。
STDAPI CoCreateInstance(
  REFCLSID rclsid,     //Class identifier (CLSID) of the object
  LPUNKNOWN pUnkOuter, //Pointer to controlling IUnknown
  DWORD dwClsContext,  //Context for running executable code
  REFIID riid,         //Reference to the identifier of the interface
  LPVOID * ppv         //Address of output variable that receives
                       // the interface pointer requested in riid
);
2009-5-19 10:52
0
雪    币: 202
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
万能指针。。对指针的类型作隐藏,达到通用性。。
2009-5-19 11:32
0
雪    币: 738
活跃值: (476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢解答

那我可以理解成JAVA的Object 吗?
2009-5-19 12:13
0
雪    币: 233
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
应该是指向指针的指针(有点拗口),而且那个指针类型还不确定的意思吧
2009-5-19 14:30
0
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
指向void*的指针,函数想把返回值放到pGraph中,所以传了&pGraph进去,而pGraph是某种类型的指针。
2009-5-21 11:30
0
雪    币: 420
活跃值: (77)
能力值: ( LV13,RANK:500 )
在线值:
发帖
回帖
粉丝
7
void 类型的二级指针,指向void类型指针的指针 ;
2009-5-21 11:41
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
8
指向指针的指针,用于接收指针
2009-5-21 22:04
0
雪    币: 348
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
#define object void * //

object*  

不能理解为object  object 是所有类对象的父类型

void * 只是指针类型
2009-5-23 11:19
0
雪    币: 236
活跃值: (33)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
10
JAVA里的引用机制和C++里的指针有很大区别
这个没法类比
JAVA中传递的对像参数,就是在函数里面给它分配空间,在函数外面这空间也会保留
C++里面,如果只传了指针,在函数里面分配的空间就带不出来了

函数CoCreateInstance主要是给一个COM对象分配空间,运用了工厂模式,为了通用最后一个参数用了无类型的指向指针的指针,这个参数,指向的内存是在CoCreateInstance函数里面分配的
2009-5-23 21:04
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
垃圾C垃圾C垃圾C
2009-5-23 21:22
0
游客
登录 | 注册 方可回帖
返回
//