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