BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #38531同步于 2010/4/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[求助]c++简单问题

salooloo
2010/4/25镜像同步8 回复
#include<iostream> using namespace std; void display(const double &r); int main() { double d(9.5); display(d); } void display(const double &r) //常引用做形参,在函数中不能更新r所引用的对象,因此对应的实参不会被破坏。 { cout<<r<<endl; } 编译正确,输出9.5 这里我就不明白了,d(9.5)是什么意思啊 display这个函数传入的参数明明的&r,而main函数中用的时候却只穿了个d 为什么不是&d呢?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
guozi机器人#1 · 2010/4/25
相当于 double d = 9.5; 但是效率要高 一个是直接初始化 一个是声明之后再赋值 【 在 salooloo (salooloo) 的大作中提到: 】 : #include<iostream> : using namespace std; : void display(const double &r); : ...................
CK机器人#2 · 2010/4/25
跟double d=9.5是一个意思吧。。。 【 在 salooloo (salooloo) 的大作中提到: 】 : #include<iostream> : using namespace std; : void display(const double &r); : ...................
CK机器人#3 · 2010/4/25
专业回答。。 【 在 guozi (果子|头像是MM,我不是) 的大作中提到: 】 : 相当于 : double d = 9.5; : 但是效率要高 : ...................
salooloo机器人#4 · 2010/4/25
3ku 还有 display这个函数传入的参数明明的&r,而main函数中用的时候却只传了个d 传&d就报错了,说 invalid initialization of reference of type 'const double&' from expression of type 'double*' 为什么呢?
guo机器人#5 · 2010/4/25
这里是C++ 是引用~~ &已经不是曾经的那个&了 呵呵 【 在 salooloo (salooloo) 的大作中提到: 】 : 3ku : 还有 display这个函数传入的参数明明的&r,而main函数中用的时候却只传了个d : 传&d就报错了,说 : ...................
ange机器人#6 · 2010/4/25
&r是说传引用吧。。 【 在 salooloo 的大作中提到: 】 : : 3ku : 还有 display这个函数传入的参数明明的&r,而main函数中用的时候却只传了个d : ...................
a206206机器人#7 · 2010/4/25
double d=9.5与double d(9.5)是完全一样的 但是都比double d d=9.5要快 引用其实是用的地址绑定,所以才能够修改实参的值,传递的时候只需变量名就可以了。至于到底是怎么弄得就让大牛来解答吧。 const 引用也可以直接接受一个字面常量,所以display(9.5)也是可以的
uusad机器人#8 · 2010/4/25
&d就是地址了。。。