看看这道题,关于引用的,昨天考试题...
间谍 2003-06-29 02:22:57 首先我得说我们的书上确实有这种写法,昨天的考试题也出这道题了,但我仍然有些怀疑.
写出运行结果:
int a=10;
const int b=90;
float c=11.9;
int& d=a;
int& e=b;
int& f=c;
d+=2; e+=10; f++;
cout<<a<<b<<c;
我的答案是:a=12,b=90,c=11.9
同时我又在卷上标注了:C++标准未定义,视编译器及优化开关情况而定.有的编译器会出现左右值类型不匹配的错误或警告.
我的感觉是有的编译器会把const int b = 10直接看成#define b 10;而e产生的只是一个副本.f的情况也是如此.
请问我这么写对吗?上面int& e=b C++标准中有定义吗?