C++_引用机制

1.引用的内涵

 引用就是给变量取外号而已

2.四种不能使用引用的情况
void &r=x; //不能建立void类型引用
int &&r=x; //不能建立引用的引用
int &*p=x; //不能建立指向引用的指针
int &ra[10]=a; //不能建立引用的数组

总结:引用一有三无,有类型,无引用,无指针,无数组

3.引用的最基本用法

CODE:


#include<iostream>
using namespace std;
int x=5,y=10;
int &r=x;
void print()
{
    cout<<"x="<<x<<" y=<<y<<" r="<<endl;
    cout<<"Address of x "<<&x<<endl;
    cout<<"Address of y "<<&y<<endl;
    cout<<"Address of z "<<&z<<endl;
}
int main()
{
    print();
    r=y;
    
    y=100;
    print();
    x=200;
    print();
    return 0;
}



RESULT:


x=5 y=10 r=5
Address of x 00474DD0
Address of y 00474DD4
Address of r 00474DD0
x=10 y=100 r=10
Address of x 00474DD0
Address of y 00474DD4
Address of r 00474DD0
x=200 y=100 r=200
Address of x 00474DD0
Address of y 00474DD4
Address of r 00474DD0

总结:修改作用,引用==原变量

4.引用作为形参

引用作形参,系统不为其另分配内存空间,与原变量公用内存空间。

调用函数才初始化。

CODE:


#include <iostream>
using namespace std;
void swap(int &x,int &y)
{
    int t=x;
    x=y;
    y=t;
}
int main()
{
    int a=3,b=5,c=10,d=20;
    cout<<"a="<<a<<" b="<<b<<endl;
    swap(a,b);
    cout<<"a="<<a<<" b="<<b<<endl;
    cout<<"c="<<c<<" d="<<d<<endl;
    swap(c,d);
    cout<<"c="<<c<<" d="<<d<<endl;
    return 0;
}

RESULT:

a=3 b=5
a=5 b=3
c=10 d=20
c=20 d=10



全部评论
抢沙发  点赞
点赞 回复 分享
发布于 2015-12-25 12:05

相关推荐

07-15 11:41
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 12:31
以前小时候我最痛恨出轨、偷情的人,无论男女,为什么会出轨?现在我成了自己最讨厌的人,没想到分享的东西在牛客会被这么多人看,大家的评价都很中肯,我也认同,想过一一回复,但我还是收声了,我想我应该说说这件事,这件事一直压在我心里,是个很大的心结,上面说了人为什么出轨,我大概能明白了。我们大一下半年开始恋爱,开始恋爱,我给出了我铭记3年的承诺,我对她好一辈子,我永远不会背叛,我责任心太重,我觉得跟了我,我就要照顾她一辈子,我们在一起3年我都没有碰过她,她说往东我就往东,她说什么我做什么,她要我干什么,我就干什么!在学校很美好,中途也出过一些小插曲,比如男闺蜜、男闺蜜2号等等等。但我都强迫她改掉了,我...
牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
社会教会你的第一课
点赞 评论 收藏
分享
评论
点赞
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务