引用

简介: 引用

1.语法格式


int &别名=原名

#include<iostream>
using namespace std;
int main() {
 int a = 10;
 int& b = a;
 cout << b << endl;
 return 0;
}


2.引用注意事项

#include<iostream>
using namespace std;
int main() {
 int a = 10;
 int& b = a;
 cout << b << endl;
 return 0;
}

在上述代码当中,起了别名之后,如果改变原名的值,那么引用值也会相应变化


3.引用作函数参数

#include<iostream>
using namespace std;
void mySwap(int& a, int& b) {
 int temp = a;
 a = b;
 b = temp;
}
int main() {
 int a = 10;
 int b = 30;
 mySwap(a, b);
 cout << "a=  " <<a<<"    b=  "<<b<< endl;
 system("pause");
 return 0;
}


4.引用作函数的返回值

//返回局部变量引用
int& test01() {
    int a = 10; //局部变量
    return a;
}
//返回静态变量引用
int& test02() {
    static int a = 20;
    return a;
}
int main() {
    //不能返回局部变量的引用
    int& ref = test01();
    cout << "ref = " << ref << endl;
    cout << "ref = " << ref << endl;
    2.5 引用的本质
        本质:引用的本质在c++内部实现是一个指针常量.
        讲解示例:
        结论:C++推荐用引用技术,因为语法方便,引用本质是指针常量,但是所有的指针操作编译器都帮我
        们做了
        //如果函数做左值,那么必须返回引用
        int& ref2 = test02();
    cout << "ref2 = " << ref2 << endl;
    cout << "ref2 = " << ref2 << endl;
    test02() = 1000;
    cout << "ref2 = " << ref2 << endl;
    cout << "ref2 = " << ref2 << endl;
    system("pause");
    return 0;
}
相关文章
|
算法 Java 程序员
【跨代引用】
【跨代引用】
|
存储 安全 编译器
【C++】C++引用(下)
【C++】C++引用(下)
|
4月前
|
安全 C++
|
6月前
|
存储 程序员 C语言
|
11月前
|
安全 编译器 C++
C++引用详解
C++引用详解
67 0
|
C++
C++中的引用
C++中的引用
86 1
|
人工智能 安全 编译器
[C++: 引用】(二)
[C++: 引用】(二)
92 0
|
编译器 C语言 C++
[C++: 引用】(一)
[C++: 引用】(一)
49 0
|
C++
C++之引用(中)
C++之引用(中)
77 0
|
存储 编译器 C++
【C++】引用(上)
【C++】引用(上)
【C++】引用(上)