引用小结
来源:互联网 发布:数据走势图 编辑:程序博客网 时间:2024/05/16 12:23
引用
引用小结:
1、 引用在声明的时候必须同时要初始化,否则会出现错误。
int intone;int& rint=intone;
2、 引用是从一而终的,在初始化后不会在指向其他的变量。任何对该引用的付值都是对引用所维系的目标付值,而不是将引用维系到另一个目标上。
3、 由于引用本身不是类型,所以没有引用的指针和引用的引用。可以有指针的引用
4、 用引用传递函数参数与指针的效果一样,传递的是原来的变量或对象,而不是在函数作用域内建立变量或对象的副本
5、 可以利用引用返回多个值
6、 用引用返回值:函数返回值时,要生成一个值的副本。而用引用返回值时,不生成值的副本。
注意下面的例子:
float temp;
float fn1(float r)
{
temp=r*r*3.14;
return temp;
}
float& fn2(float r)
{
temp=r*r*3.14;
return temp;
}
void main()
{
float a=fn1(5);
float &b=fn1(5);//warning 因为值传递返回的是值得副本,是一个临时变量,而后再把值赋给该引用b,由于临时变量作用域短暂,所以b面临无效的危险,这样的情况下需要把他付给一个变量后再初始化引用。
float c=fn2(5);
float& d=fn2(5);
另外,不能返回一个局部作用域的变量的引用,这与返回一个局部作用域的指针性质一样严重
7、 函数调用作为左值
8、 用const 限定引用
传递指针和引用更大的目的是效率。当一个数据类型很大时,因为传值要复制副本,所以不可取。但是实参可能会被修改的可能,用const来限定实参不被修改。
9 、返回堆中变量的引用
int * pint=new int;
if(pint!=null)
{ int & rint=*pint; delete &rint;//当释放内存的时候注意应用的写法}
- 引用小结
- 引用小结
- 引用小结
- 引用小结
- 引用和指针小结
- C++引用小结
- 指针与引用小结
- C++引用的小结
- 《指针和引用小结》
- 【Java】引用类型小结
- 数组、指针、引用小结
- C++指针引用小结
- C++引用小结
- JAVA强引用、软引用、弱引用、虚引用小结
- C++指针与引用小结
- 指针传递 引用传递 小结
- Android4.4 引用计数小结
- 数组、指针、引用等学习小结
- 一个掌握Struts企业级Web开发框架的实例
- 深入Struts 1.1(分离struts配置文件)
- 有点累了
- 最简单的Struts程序(3)------显示MYSQL数据库中的数据
- 请教页面上根据多选框里选项内容的查询问题?多谢!
- 引用小结
- Struts 配置虚拟目录
- test
- 请问页面上关于时间校验问题。
- GDB使用手册
- 地震啦....
- The software does most work
- Sql Server基本函数
- 珍惜你的朋友