社区
C语言
帖子详情
void 与 return 的矛盾(thinking in C++)
yumengshuyuan
2001-03-08 08:55:00
我在学习《C++编程思想》(thinking in C++)时经常发现有下段例子,
void* fetch(stash*s,int index){
if(index>=s->next||index<0)
return 0;
return &(s->storage[index*s->size]);}
问题是void 不是已规定不让代回任何值,
可为何还用return 返回函数地址?
...全文
320
10
打赏
收藏
void 与 return 的矛盾(thinking in C++)
我在学习《C++编程思想》(thinking in C++)时经常发现有下段例子, void* fetch(stash*s,int index){ if(index>=s->next||indexstorage[index*s->size]);} 问题是void 不是已规定不让代回任何值, 可为何还用return 返回函数地址?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yumengshuyuan
2001-03-09
打赏
举报
回复
我懂了,
谢了。
upyu
2001-03-08
打赏
举报
回复
这里我看过,我们不知道指针*stroage所指直的类型,所以用void表示,即void这里不表示不返回值,表示不确定的指针。"if(index>=s->next||index<0)return 0;"表示索引index不再数组范围内。&(s->storage[index*s->size])是取第index*s->size得值得地址。我可能说的不清楚,书上讲的很详细。
holyfire
2001-03-08
打赏
举报
回复
返回的是void型的指针,指针的内容是0或者s->storage[index*s->size]
函数的意思是可以通过内容是否为0来判断有无结果。
holyfire
2001-03-08
打赏
举报
回复
返回的是void型的指针,指针的内容是0或者s->storage[index*s->size]
函数的意思是可以通过内容是否为0来判断有无结果。
xuii
2001-03-08
打赏
举报
回复
return 返回的值如果是int那么放在ax 或者Eax 如果是结构那么eax放的是指向这个结构的指针!
所以ruturn语句和void实际上并不矛盾!
建议你使用汇编级的调试工具跟踪一次!就知道了!
yumengshuyuan
2001-03-08
打赏
举报
回复
易水,
我如何给你加分呀?
我是说过程,
我刚来不知怎样给别人加分,
点击哪个键?
yumengshuyuan
2001-03-08
打赏
举报
回复
那此处返回的是什么呢?
Areslee
2001-03-08
打赏
举报
回复
该函数的返回值是一个无类型的指针!
void*表示一个无类型指针 void 才是无返回值
tinydrop
2001-03-08
打赏
举报
回复
这里void *可以看成一种基本数据类型,就像(int *)、(float *)等.但c/c++中不把它们说成是基本类型.
这里顺便说一下,对于返回void的函数也不是说函数没有返回值,只是这里的返回值不能由你指定,而由系统提供。如果你是用windows可以用GetExitCodeProcess或GetExitCodeThread函数获得返回值(一般情况时,当函数正常对出返回值是0,而其他情况是非0)。
luodi
2001-03-08
打赏
举报
回复
建议你去看一下标准C运行库中 malloc的输出定义! 返回值为 void *其实表明的是你可以将它cast成任何你想要的指计类型!void 确实是无返回的意思,但void*恰恰表明任何指计类型的意思!你说的书我没看过,你应该可以从书中的上下文中猜测它想要的结果是用来case(造型)成什么。
Claude Code 核心架构和源码解析
⑥ 基础设施层 (Utils & Infra)⑤ 服务层 (Services)④ 工具层 (Tools)③ 核心编排层 (Core Loop & Core Subsystems)② 界面层 (UI / Ink TUI)① 入口 / 初始化层 (Entrypoints & Bootstrap)动态加载主模块共享入口preAction / action交互模式非交互 / print 模式共享服务能力共享工具能力cli.tsxCLI 入口 / fast-path / 动态 import main.tsxmcp.t
锅炉系统完整工程设计方案(深度详细版).docx
锅炉系统完整工程设计方案(深度详细版).docx
光流模块使用手册(LC-307)V1.3@20230223,湖南优象科技有限公司资料分享
资料来源:湖南优象科技有限公司资料链接下载。里面包含了:湖南优象科技有限公司光流飞控端的使用源码(参考代码)demo,湖南优象科技有限公司上位机光流软件,配置文件,LC307需初始化设置的光流模块配置选项说明图,飞控端调试光流方法说明V1.0@20240329,光流模块使用手册(LC-307)V1.3@20230223,无人机光流模块使用技巧。原来的下载链接通过百度网盘分享的文件:光流模块使用手册… 链接:https://pan.baidu.com/s/1ktmurBJHyzPNgBS298_wyw?pwd=sdgl 家人们谁懂哇,csdn和优象官网,只找到了使用手册,配置文件一点都不带有的哇,去找淘宝客服直接说没有。去找优象科技有限公司的邮箱才给我发哇。。。。。。。
V90伺服系统操作说明-下载即用.zip
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 SHEMaskDemo App遮罩引导操作提示 使用说明类的操作引导提示,点击x或“我知道了”或“下一步”直到结束。 Image text
机电一体化系统综合课程设计_X-Y数控工作台设计说明书——22.rar
机电一体化系统综合课程设计_X-Y数控工作台设计说明书——22.rar
C语言
70,037
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章