c++引用看这个就够了

简介: c++引用看这个就够了

提到引用你会想到什么呢?可不是语文中的 该诗句引用于“某某”的诗。我们这里提到的引用哇是c++里面一种特有的用法,那么下面让我们一起看看引用究竟是怎么用的吧!

1.引用的写法

int a=10;
int &b=a;

引用的写法很简单,就是多了一个&而已,当然你看到这里感觉很懵逼,这是什么东西?引用究竟是什么?

不要慌,我们不防先打印一下b的值

b=10;

我们惊奇的发现b的值也等于10,这时我们不禁会想a和b是不是一个东西。这时有的小黑子可能会说,那我不加&,b打印还不是等于10,那你加了有屁用。

int a=10;
int b=a;

咦,好像是这样也,打印出来的值确实还是10,想必这个大家都应该看的懂,就是将a的值赋值给了b,到了这里好像思路断了......


不不不,我们想想我们最开始的假设是a和b是一个东西,居然a无从下手,我们何不从b下手,倘若我修改b的值,a也跟着变了的话,那么就是一个东西,如果不变的,那就小黑子赢了。


话不多说感紧实操!

int a = 10;
int& b = a;
b = 100;
cout << "b=" << b << endl;
cout << "a=" << a << endl;

运行结果:

b=100
a=100

我们惊奇的发现a的值居然也变成了100,哈哈,终究是鸡窝塔楼,小黑子输了。

好了,说了这么久,我们来总结一下,说白了,c++的引用就是一种别名,就相当于叫你的大名是你,叫你的小名还是你,在c++内部我们知道变量名实质是一段连续储存空间的别名,所以说变量a就是一个地址的名字,int &b=a;那么变量b就也是a所指向的那个地址的名字了。

细节:

1.引用必须是已经定义变量的别名 eg:int &b=10;这是错误的写法。

2.&的位置在中间,像int& b或者int &b都可以。

3.再次强调引用的语法:类型& 别名=原变量名;

2.引用的意义

相关文章
|
23天前
|
存储 Java C++
C++ 引用和指针:内存地址、创建方法及应用解析
C++中的引用是现有变量的别名,创建时需用`&`运算符,如`string &meal = food;`。指针存储变量的内存地址,使用`*`创建,如`string* ptr = &food;`。引用必须初始化且不可为空,而指针可初始化为空。引用在函数参数传递和提高效率时有用,指针适用于动态内存分配和复杂数据结构操作。选择使用取决于具体需求。
44 9
|
23天前
|
存储 安全 编译器
【C++专栏】C++入门 | 函数重载、引用、内联函数
【C++专栏】C++入门 | 函数重载、引用、内联函数
29 0
|
15天前
|
C++
C++中的const指针与const引用
C++中的const指针与const引用
33 2
|
18天前
|
C++
C++程序中对象成员的引用
C++程序中对象成员的引用
23 2
|
23天前
|
存储 安全 编译器
【C++入门】缺省参数、函数重载与引用(下)
【C++入门】缺省参数、函数重载与引用
|
2天前
|
存储 安全 编译器
C++进阶之路:何为引用、内联函数、auto与指针空值nullptr关键字
C++进阶之路:何为引用、内联函数、auto与指针空值nullptr关键字
7 2
|
5天前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
7天前
|
存储 C++
C++中的引用技术详解
C++中的引用技术详解
24 0
|
11天前
|
存储 C++
c++引用
c++引用
18 1
|
17天前
|
存储 安全 编译器
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用(下)
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用
19 0