引用类型可以和指针一样指向某个变量,但两者在使用的时候还是有许多区别,
1.声明一个引用类型后,一定要给他赋值,否则编译通不过,特别是在类中,如果有引用成员变量时,一定要在构造函数的初始化列表中初始化,例如:
class foo
{
public:
foo(){}
private:
int& var;
};
foo f; // Error, 没有初始化引用变量var
2.引用类型在使用时有一定的限制,函数不能返回一个临时变量的引用,例如:
//Error
int& foo(int a, int b)
{
int c;
c = a + b;
return c;
}
变量c是临时变量,返回c的引用可能会引起严重错误
3.引用类型适用于函数传递参数,这是非常方便的,避免了复制拷贝,但要注意的是,传递的参数必须是变量,而不能是数值常量,例如:
int foo(int& a, int& b)
{
return a+b;
}
//
int a =0, b=1, c=2;
char d='d';
a = foo(b, c); //OK
a = foo(b, (int)d); //Error
a = foo(1, 2); //Error
4.引用变量一旦指向某个变量后,就不能再改变它所指向的引用,只能改变指向变量的值,因此如果需要动态改变它所指向的变量,那么引用类型就不适用了,那就该用指针,例如:
int a =10;
int& ref = a;
a = 20; // ref=20
ref = 30; // a=30
分享到:
相关推荐
引用也叫做别名,为一个变量起一个名字,二者代表同一地址,也代表同一变量。 int a=1; int &b=a;//b是a的一个变量,初始化为a...若&a的前面有类型符号(int & a),则为引用 若前面没有类型符号,(p=&a),为取地址符。
C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
c++引用的事例,适合c++入门以及从事多年参考
关于C++中的类型转换问题的资料!感谢下载
深入浅出C++引用,总结引用基础知识及其应用,帮助很好的理解引用。
C++ 引用的作用和用法,C++ 引用的作用和用法
C++数据类型与C#数据类型之间的对应关系
c++比起c来除了多了类类型外还多出一种类型:引用。这个东西变量不象变量,指针不象指针,我以前对它不太懂,看程序时碰到引用都稀里糊涂蒙过去。最近把引用好好地揣摩了一番,小有收获,特公之于社区,让初学者们...
c++中按引用传递是一个比较让人疑惑的知识点,本文介绍c++按引用传递的相关知识
详细分析了指针与引用的区别,适合初学者了解
C#引用C++动态库 dll 实例 项目含有C++编写DLL C#引用C++dll
c++之十引用和拷贝构造函数c++之十引用和拷贝构造函数c++之十引用和拷贝构造函数c++之十引用和拷贝构造函数
C++引用&和指针在作为形参时的区别 int n; int &m = n; 在C++中,多了一个C语言没有的引用声明符&,如上,m就是n的引用,简单的说m就是n的别名,两者在内存中占同样的位置,不对m开辟新的内存空间,对m的任何操作,...
深入探讨C++中的引用,分清楚它与其他引用的区别
列举了c++一个函数与引用的例题,学生时代我自己写的一个简单例子
C++的引用是一大特色但是常常会导致使用失败
C++指针与引用,专门讲述c++中指针与引用的区别与使用。
不错的资料,一起分享~,相信对于c++中引用理解不够的伙伴能有帮助~
在C#编程中,常会用到C++中的dll类库,简单介绍一下它们的对应关系。
STL vector 容器介绍 C++中布尔类型 深入探讨C++中的引用 C/C++中枚举类型(enum)