首页 > 其他 > 详细

还是引用

时间:2016-02-03 12:39:33      阅读:105      评论:0      收藏:0      [点我收藏+]
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int getA1()
 5 {
 6     int a;
 7     a = 10;
 8     return a; //复制一份交给主函数相关变量,然后自己消失
 9 }
10 
11 int& getA2()
12 {
13     int a;
14     a = 10;
15     return a; //将自己将给主函数相关变量,然后自己消失
16 }
17 
18 int main()
19 {
20     int a1 = 0;
21     int a2 = 0;
22 
23     a1 = getA1(); //得到的是复制体,返回的只是一个值.返回不能当左值.
24     a2 = getA2(); //得到的是getA2本身,但因为a2本身开辟了内存,所以能够保存值.返回可以当左值.
25 
26     int &a3 = getA2(); //用a3去引用getA2返回的变量本身.
27 
28     printf("a1:%d\n", a1);
29     printf("a2:%d\n", a2);
30     printf("a3:%d\n", a3);
31     printf("123");
32     printf("a2:%d\n", a2);
33 
34     cin.get();
35     return 0;
36 }
37 
38 int *j()
39 {
40     static int a = 10;
41     a++;
42     return &a;
43 }
44 
45 int main11()
46 {
47     j();
48     j();
49     //int *p = j();
50 
51     printf("%d\n", *(j())); //输出13
52     return 0;
53 }




const& 相当于 const int *const a
&相当于 int *const a

 

还是引用

原文:http://www.cnblogs.com/c-slmax/p/5179412.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!