学习C++笔记246

简介: C++ 引用

2.引用更接近const指针,必须在创建时进行初始化,一旦引用和某个变量关联起来,该引用就会一直指向该变量。

int rats =10;

int&rodents = rats;

上面代码实际上是下述代码的伪装表示:

int rats =10;

int*const pr =&rats;

例子:

#include<iostream>


usingnamespace std;


int main()

{

 int rats =100;

 int&rodent = rats;


 cout <<"rats = "<<rats<<", rosent = "<<rodent<<endl;

 cout <<"rats address = "<<&rats<<endl;

 cout <<"rosent address = "<<&rodent<<endl;


 cout <<"==================================="<<endl;

 int bunnies =50;

 rodent = bunnies;


 cout <<"rats = "<<rats<<", rosent = "<<rodent<<", bunnies = "<<bunnies<<endl;

 cout <<"rats address = "<<&rats<<endl;

 cout <<"rosent address = "<<&rodent<<endl;

 cout <<"bunniess address = "<<&bunnies<<endl;


 return0;

}

输出结果:

rats =100, rosent =100

rats address =0xbfce21e4

rosent address =0xbfce21e4

===================================

rats =50, rosent =50, bunnies =50

rats address =0xbfce21e4

rosent address =0xbfce21e4

bunniess address =0xbfce21e8

从结果可以看出,虽然在调用 rodent = bunnies; 后引用 rosent 的值变为 50,但是 rosent 所指向的地址空间还是指向了 rats,没有发生改变,说明 rodent = bunnies; 只是将 bunnies 的值赋值给引用 rodent 所指向的变量,没有改变引用的指向。

目录
相关文章
|
3天前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
3天前
|
存储 自然语言处理 编译器
【C++入门 三】学习C++缺省参数 | 函数重载 | 引用
【C++入门 三】学习C++缺省参数 | 函数重载 | 引用
|
3天前
|
小程序 C++
【C++入门 二 】学习使用C++命名空间及其展开
【C++入门 二 】学习使用C++命名空间及其展开
|
3天前
|
人工智能 分布式计算 Java
【C++入门 一 】学习C++背景、开启C++奇妙之旅
【C++入门 一 】学习C++背景、开启C++奇妙之旅
|
12天前
|
存储 C++ 索引
|
12天前
|
C++
C++基础知识(四:类的学习)
类指的就是对同一类对象,把所有的属性都封装起来,你也可以把类看成一个高级版的结构体。
|
12天前
|
算法 C++ 容器
|
3天前
|
设计模式 安全 编译器
【C++11】特殊类设计
【C++11】特殊类设计
22 10
|
8天前
|
C++
C++友元函数和友元类的使用
C++中的友元(friend)是一种机制,允许类或函数访问其他类的私有成员,以实现数据共享或特殊功能。友元分为两类:类友元和函数友元。类友元允许一个类访问另一个类的私有数据,而函数友元是非成员函数,可以直接访问类的私有成员。虽然提供了便利,但友元破坏了封装性,应谨慎使用。
39 9
|
3天前
|
存储 编译器 C语言
【C++基础 】类和对象(上)
【C++基础 】类和对象(上)