引用变量的C++引用变量的定义
intrate=80;int&pt=rate;⒈pt 是引用变量,申明引用变量时必须将其初始化.pt 和rate 的值指向相同的内存变量. 引用的最多用处就是作为函数的参数(结构和对象).通过引用变量作参数可以是函数使用原始数据.而不是拷贝.
⒉引用的特点更接近于const 指针,一旦与某个变量关联起来就将一直效忠于它,可以通过初始化来设置引用,但是不能通过赋值来设置 intother=30;pt=other;此时,rate的值和 pt的值都改为了30 但是地址还是原来rate的地址.而不是other的地址.
⒊如果程序不想改变传递给它的信息,但是又想使用引用,那么则应该使用常量引用 inttest(constint&p)//当改变p值是,编译器将生成错去消息⒋如果实参和应用参数不匹配,c++将为此产生临时变量,这个只有在参数为const 引用时才允许这么做,在下列情况下生成临时变量,并且函数参数将引用该变量.
****当参数不是const引用时,如果不是左值(又无法生成临时变量)将导致编译错误*****(强调了第三点,即尽量用const)
.实参的类型正确,但是不是左值
.实参类型不正确,但是可以转化为正确类型
左值概念:除了字面常量和包含多项式的表达式可以被引用的数据对象
⒌尽量将函数返回的引用声明为const,避免你通过返回的引用而修改它的值.返回引用其实是返回被引用变量的别名 constsysop&use(sysop&pref)sysoppref={};sysoptest=use(pref);相当于 user(pref);test=pref;⒍继承的特征就是基类的引用可以指向派生类对象,而无需强制类型转化.这种好处是可以定义一个接受基类引用座位参数的函数,调用函数是既可以将基类对象作为参数,也可以将派生类作为参数
如果 int&ir=0表示的是地址为0,而不是引用的意思,声明中有变量赋值的情况,必须把变量作为引用的对象,要不然系统无法识别你的语句是引用还是赋值!