社区
C++ 语言
帖子详情
符号(void *)何解?符号(void **)又何解??
cpp_c
2005-01-20 03:56:30
如题,谢谢!
...全文
7700
16
打赏
收藏
符号(void *)何解?符号(void **)又何解??
如题,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
somedummy
2005-01-20
打赏
举报
回复
void*是不带类型的指针,而void**是带类型的指针,就这个不同
而对于不带类型的指针来说,不能进行算术运算,而带类型的指针就可以进行算术运算了
zhousqy
2005-01-20
打赏
举报
回复
void* 是说: 这是一个指针,它指向任何类型的对象.
void** 是说: 这是一个指针,它指向一个void* 型的指针.这个void *的指针又指向任何类型的对象
xue23
2005-01-20
打赏
举报
回复
比如找人一样。这个人是李四
void * pdes;就好像某人的住址一样。你到他家就可以找到他了。
但是他爸说,这小子已经被我卖了,成了张三的儿子。他爸告诉你张三家的住址,然后你去张三家就可以找到李四了。
张三的地址就是
void ** ppdes;
如果张三说,已经把李四又卖了武大。
于是就又要变成
void *** pppes;
...
sankt
2005-01-20
打赏
举报
回复
学习
coolvc2002
2005-01-20
打赏
举报
回复
对于多级指针或者数组,要掌握正确的识别方法:
void* 是说: 这是一个指针,去掉一个(*)就是它所指向的,在这里是指向放void型的地方;
void** 是说: 这也是一个指针,去掉一个(*)就是它所指向的,它指向一个放void*型的地方.
如下
#include <iostream>
int main(int argc,int * argv[])
{
int *i[2];
int a = 0;
int b = 1;
int *pa = &a ;
int *pb = &b;
i[0] = pa ;
i[1] = pb;
void **ppA = (void **)i;
return 0;
}
易旭昕
2005-01-20
打赏
举报
回复
void ** 这种用法通常在跟COM接口打交道的时候常见。
比如说现在有一个指向一个空接口的指针 pUnknow,
我们要调用某个函数使这个指针指向一个真正有用的接口。
这个函数为:
HRESULT foo(void ** ppv);
{
*ppv = new Interface();
}
它生成一个接口并获得接口指针,并修改传入的参数(指针的指针),
使得传入参数的指向的数据(指针)等于这个接口的指针。
调用如下:
foo(reinterpret_cast<void **>(&pUnknow));
daylove
2005-01-20
打赏
举报
回复
还上看看
sharkhuang
2005-01-20
打赏
举报
回复
理解意思void ***你也知道^_^
lu1172101275
2005-01-20
打赏
举报
回复
来晚了
kobefly
2005-01-20
打赏
举报
回复
楼上正解
(void *)fun(int a);
函数返回一个指针,是void类型
(void **)fun(int a);
函数返回一个2级指针,是void **类型
一级指针是找到地址,然后取得这个地址的值
2级指针是找到地址,然后找到地址的内容的地址,然后再取得这个地址的值
cpp_c
2005-01-20
打赏
举报
回复
谢谢大家生动的回答啊:)
Zark
2005-01-20
打赏
举报
回复
void* 是说: 这是一个指针,它指向的对象未知.
void* 是说: 这是一个指针,它指向一个void* 型的数据结构.
qiushuiyingying
2005-01-20
打赏
举报
回复
xue23(xue23)正解
qufan
2005-01-20
打赏
举报
回复
coolvc2002(cool_vc)
说的方法很实用啊,呵呵
一般来说对指针访问一般(也可以说必须知道指针的类型)
比如你获得一个指针的内容,你必须根据它指向的对象的类型信息来访问该对象
所以说,一个void类型的指针可以赋值给任意指针,但任意指针不得赋值void指针哈
(丢失类型信息哈)
所以常可以看到函数访问的返回值为void指针的
呵呵,具体怎么用看具体情况咯(一句废话!!!!)
luoyu971
2005-01-20
打赏
举报
回复
study
r_swordsman
2005-01-20
打赏
举报
回复
void* 可以和任何类型相互转换的指针
void** 就是指向上面那类型的指针啦~~
常见的是malloc就是返回void* 类型~~这样就可以转换为其他类型~~
函数
何解
之(DWORD) (m_pStoreMap)[ (
void
)pClassRef ]-附件资源
函数
何解
之(DWORD) (m_pStoreMap)[ (
void
)pClassRef ]-附件资源
ap6212a0_a33_sc3817r_神舟验证版本_借用nvram_ap6210这个配置文件_20170626_1834没有外层目录.7z
调通sina33下的AP6212A0(WIFI+BT) 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 ...完成时间:2017/6/26 11:01 版本:V1.1 本文参照: 《A33 wifi移植说明书.pdf》 还有就是全志R16的parrotv1.1的官方SDK(Android...
ap6212a0_a33_sc3817r_服务器验证通过_bt已经通了_wifi需要修改配置_需要再次验证_20170626_1549.7z
调通sina33下的AP6212A0版本的BT 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 ...完成时间:2017/6/26 11:01 版本:V1.0 本文参照: 《A33 wifi移植说明书.pdf》 还有就是全志R16的parrotv1.1的官方SDK(Android...
new/new[]和delete/delete[]是如何分配空间以及释放空间的
符号
(
void
**)又
何解
??关于&:引用在赋值=的左边,而取地址在赋值的右边!关于*&p 和 &*p的区别?指向的内存地址就用p表示。p指向的地址中的内容(值)就用*p表示有两个函数 定义为 func(int *a,int *...
ArrayList竟然比LinkedList添加更快!
何解
?
一直认为ArrayList和LinkedList相比,LinkedList在添加的时候比ArrayList的速度...不知
何解
?贴出代码求教! public static
void
main(String[] args) { List arrayList=new ArrayList(); List linkedList...
C++ 语言
65,195
社区成员
250,524
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章