社区
C++ 语言
帖子详情
关于函数作用域与指针,有点不太明白
zhaoxinghan
2004-05-06 10:00:37
引用自<<c++ programming language>>:
void f(int val,int& ref)
{
val++;
ref++;
}
void g()
{
int i=1;
int j=1;
f(i,j);
}
这里前边的f里不是取的ref的地址么?++就应该把ref的地址+1了啊,可为什么出现这样的结果呢?结果为1,2
...全文
138
4
打赏
收藏
关于函数作用域与指针,有点不太明白
引用自<>: void f(int val,int& ref) { val++; ref++; } void g() { int i=1; int j=1; f(i,j); } 这里前边的f里不是取的ref的地址么?++就应该把ref的地址+1了啊,可为什么出现这样的结果呢?结果为1,2
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhaoxinghan
2004-05-06
打赏
举报
回复
谢谢大家。
cngdzhang
2004-05-06
打赏
举报
回复
int& ref
是表示引用,就是换个名字使用
例如:
int i=10;
int &j=i;
那么j++和i++的效果是一样的
如果是指针
那么就要:
int i=10;
int *j=&i;
那么
(*j)++的效果和i++的效果一样
void f(int val,int& ref)
中的val是按值传递的
ref如果是按指针,那么:
void f(int val,int* ref)
{
val++;
(*ref)++;
}
void g()
{
int i=1;
int j=1;
f(i,&j);
}
runall
2004-05-06
打赏
举报
回复
int& ref;
不是取地址,而是表明ref是个引用
在c++里面有三种参数传递方式:值传递,指针传递和引用传递
引用传递有点像指针传递,但是使用起来比指针方便
D100
2004-05-06
打赏
举报
回复
int& ref表示引用,不是指针。
f(i,j)结果就是i传值,j传引用,所以最后i没有变,还是1,而ref++就等于j++,所以j是2
netty-all-4.1.23.Final.jar中文文档.zip
1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
OKT507_修改默认界面显示_Linux_应用笔记_V1.0_20220627.pdf
OKT507_修改默认界面显示_Linux_应用笔记_V1.0_20220627
Linux_G2D_开发指南.pdf
Linux_G2D_开发指南
天气系统插件,所见即所得
天气系统插件,所见即所得
这是一个用Python开发的桌面版的跆拳道馆管理系统.zip
这是一个用Python开发的桌面版的跆拳道馆管理系统
C++ 语言
65,192
社区成员
250,525
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章