02 C++ 的引用

来源:互联网 发布:app程序员招聘要求 编辑:程序博客网 时间:2024/05/18 20:52

很多开发人员选择使用java就是避免C/C++的指针.

C++里的引用类型就是把C里的指针操作封装起来,避免直接操作内存地址,降低发生地址访问越界的问题.


声明引用类型的变量: 类型&变量名=要引用的变量名

注意引用变量在声明时必须要初始化,也就是要指定引用的变量.我们只要像操作一般的变量来操作引用变量即可。


代码:

12 #include<iostream>34 int main(void)5 {6 usingnamespace std;7 int & p;8 return 0;9 } 



如上面代码没有初始化引用变量,则编译时发生错误:

[root@localhost02quote]# g++ 01test.cpp

01test.cpp: Infunction ‘int main()’:

01test.cpp:7:8:error: ‘p’ declared as reference but not initialized

int & p;

^


引用变量初始化指定引用变量后,无法再指定引用另一变量.

代码:

12 #include<iostream>34 int main(void)5 {6 usingnamespace std;7 int num =77;8 int num2 =88;910 int & p= num;1112 p = num2;13 cout <<p << endl;14 cout <<num << endl;15 return 0;16 }



这代码看上去,“p = num2”是指定引用另一个变量,实际根本不是。

p初始化指定引用num变量后, 写p相当于写num,“p = num2”相当于”num= num2”



引用变量作函数的参数使用


通过引用变量参数改变变量num的值

123 #include <iostream>45 void func(int & p);6 int main(void)7 {8 using namespace std;910 int num = 88;1112 func(num);13 cout << num << endl;14 return 0;15 }1617 void func(int & p)18 {19 p = 11;20 }

注意引用变量p是局部变量,在func函数执行才会发配空间,也就是在函数执行时才会初始化”int& p = num”在面试题里,C/C++的题里出现函数参数是引用变量时,需注意不是取地址的参数调用参数为引用变量的函数时,我们只需提供变量,同时需注意函数有可能改变量里的值.

0 0
原创粉丝点击