c++ 的学习 contst引用的特点

1.临时数据

2.本来就不能改,那就放个30也没事

3.

◼ 引用可以被const修饰,这样就无法通过引用修改数据了,可以称为常引用
const必须写在&符号的左边,才能算是常引用
◼ const引用的特点
可以指向临时数据(常量、表达式、函数返回值等)
可以指向不同类型的数据
作为函数参数时(此规则也适用于const指针)
✓ 可以接受const和非const实参(非const引用,只能接受非const实参)
✓ 可以跟非const引用构成重载

 

 


◼ 当常引用指向了不同类型的数据时,会产生临时变量,即引用指向的并不是初始化时的那个变量
数组的引用

4.a+b的值是3  哪来的地址,默认情况肯定是不可以的,但是加上const

const 你右边放常量都可以,所以意思就是a+b是一个临时量   3才是常量

5.lambda  指的是匿名函数 ls.sort(lambda x :x[i],reverse=ture)

6.函数返回值:func()f 返回的是8   是返回值是临时值,

int &ref=func()是不可以的

const 常引用不可以改,无法通过常引用来改你右边的值,右边的也本来不可以,,改合情合理

 所以常引用就是你得保证右边的值就是不可以改的

7.表达式:

8.c++  viod sum(int &v1,int &v2) 这是引用不是c语言的取值符

sum(a,b)  可以   sum(10,20)不可以

常引用可以接受a与b   和10与20

那就是   a+b就是30就是临时值,但是sum(a,b) 这里就不是临时值而是变量,const修饰的东西,把变量和常数都可以赋到const修饰的东西

9.

 

 10.

 

 11.

 

 12.

 13.✓ 可以跟非const引用构成重载

函数名一样 参数不一样

 

 

 

 

 

 

14.总结:const 引用函数 比非const 的范围广

15.

 

 

 16.

 

 17.

 

 18.◼ 当常引用指向了不同类型的数据时,会产生临时变量,即引用指向的并不是初始化时的那个变量

19.double 类型的引用指向了整型数据 

20.汇编很重要,可以看清代码本质

21.汇编代码取决于cpu

22.

 

 23.

 

 24.

 

 ◼ 当常引用指向了不同类型的数据时,会产生临时变量,即引用指向的并不是初始化时的那个变量

25.至于你  看到 const long &r =age

比较懵与空白的话:这样想   把const 分割开

剩下long &r=age

用long 类型的 r 引用age       age肯定是被引用

以后读这种引用也不要读成用  把 int 类型age 赋于r , 这种读法只是适用与  age与r是一种类型的

直接就从左到右的正常读   a=2          就读a等于2

long类型的r引用age

posted @ 2021-10-01 19:37  a-mhh  阅读(66)  评论(0编辑  收藏  举报