【c++自学笔记04】

// 2-6 引用-----内存的别名
#include <iostream>

using namespace std;

int main(int argc, char const *argv[])
{
    /* code 
    规则1:引用没有定义,是一种关系型声明。声明它和原有某一变量(实体)的关系。
        故而类型与原类型保持一致,且不分配内存。与被引用的变量有相同的地址。
    规则2:声明的时候必须初始化,一经声明,不可变更。
    规则3:可对引用,再次引用。多次引用的结果,是某一变量具有多个别名。
    规则4:&符号前有数据类型时,是引用。其它皆为取地址。
    */
    int a=5;
    int &ra=a;
    cout<<ra<<"  "<<a<<endl;    //输出 5 5

    a=100;
    cout<<ra<<"  "<<a<<endl;    //输出 100 100

    ra=26;
    cout<<ra<<"  "<<a<<endl;    //输出 26 26

    int &rra=ra;
    rra=6666;
    cout<<ra<<"  "<<a<<endl;    //输出 6666 6666

    int b;
    int &ra=b;        //错误,不可更改原有的引用关系
    double &rr=b;    //错误,引用类型不匹配
    return 0;
}
引用作函数参数
#include <iostream>

using namespace std;
void swap(int  &a,int &b)
{
    int temp=a;
    a=b;
    a=b;
    b=temp;
}
int main(int argc, char const *argv[])
{
    /* code */
    int a,b;
    cin>>a>>b;
    swap(a,b);
    cout<<a<<" "<<b<<endl;
    return 0;
}

#笔记#
全部评论

相关推荐

头像
01-29 18:11
海南大学 Java
奔跑的suechil...:单从项目看这个简历不怕被问穿吗 带微服务的项目需要相当多的项目理解和经验诶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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