最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中引用和const關(guān)鍵字介紹

 更新時(shí)間:2022年02月07日 14:22:58   作者:Coolnerdn  
大家好,本篇文章主要講的是C++中引用和const關(guān)鍵字介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

引用

下面的寫法定義了一個(gè)引用,并將其初始化為引用某個(gè)變量。
類型名 & 引用名 = 某變量名;

int n = 4;
int & r = n; // r 引用了n,r的類型是 int &

某個(gè)變量的引用,等價(jià)于這個(gè)變量,相當(dāng)于該變量的一個(gè)別名。

int n = 7;
int & r = n;	// r 引用了n,r和n就是一回事
r = 4;
cout << r;		// 輸出4
cout << n;		// 輸出4
n = 5;
cout << 4;		// 輸出5

定義引用時(shí)一定要將其初始化成引用某個(gè)變量。
初始化之后,它就一直引用該變量,不會(huì)再引用別的變量了。
引用只能引用變量,不能引用常量和表達(dá)式。

double a = 4, b = 5;
double & r1 = a;	// r1引用了a
double & r2 = r1;	// r2也引用了a
r2 = 10;			// a修改為10
cout << a << endl;	// 輸出10
r1 = b;				// 用b的值對(duì)r1進(jìn)行賦值,并非r1改為引用b,因?yàn)橐檬恰皬囊欢K”的
cout << a << endl;	// 輸出5

常引用

定義引用時(shí),前面加const關(guān)鍵字,即為“常引用”。

int n;
const int & r = n; // r的類型是const int &

不能通過(guò)常引用去修改其引用的內(nèi)容:
并不是說(shuō)引用的內(nèi)容不能被修改

int n = 100;
const int & r = n;
r = 200; // 編譯錯(cuò)誤
n = 300; // ok

常引用和非常引用的轉(zhuǎn)換
const T &和T &是不同的類型。
T &類型的引用或T類型的變量可以用來(lái)初始化const T &類型的引用。
const T類型的常變量和const T &類型的引用則不能用來(lái)初始化T &類型的引用,除非進(jìn)行強(qiáng)制類型轉(zhuǎn)換。

const關(guān)鍵字用法

1)定義常量

const int MAX_VAL = 23;
const double PI = 3.14;
const string NAME = "Tommy";

2)定義常量指針

不能通過(guò)常量指針修改其指向的內(nèi)容,但內(nèi)容本身可以被修改,且常量指針的指向可以變化。

int n, m;
const int *p = &n;
*p = 5;	// 編譯錯(cuò)誤
n = 4;	// ok
p = &m;	// ok,常量指針的指向可以變化

不能把常量指針賦值給非常量指針,反過(guò)來(lái)可以。

const int *p1;
int *p2;
p1 = p2;		// ok
p2 = p1;		// error
p2 = (int*)p1;	// ok,強(qiáng)制類型轉(zhuǎn)換

[注] 因?yàn)槌A恐羔槍?duì)其所指向的內(nèi)容沒(méi)有修改權(quán)限,自然也不能賦予別的指針這樣的權(quán)限。否則,非常量指針接收常量指針的賦值之后,便可以修改所指向的內(nèi)容了,這存在一定安全隱患。

函數(shù)參數(shù)為常量指針時(shí),可避免函數(shù)內(nèi)部不小心改變參數(shù)指針?biāo)傅胤降膬?nèi)容。

void MyPrintf(const char *p)
{
	strcpy(p, "this"); 	// 編譯出錯(cuò)
	printf("%s", p);	// ok
}

3)定義常引用

不能通過(guò)常引用修改其引用的變量

int n;
const int & r = n;
r = 5; // error
n = 4; // ok

總結(jié)

到此這篇關(guān)于C++中引用和const關(guān)鍵字介紹的文章就介紹到這了,更多相關(guān)C++引用和const關(guān)鍵字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章教你自己動(dòng)手實(shí)現(xiàn)C語(yǔ)言庫(kù)函數(shù)

    一篇文章教你自己動(dòng)手實(shí)現(xiàn)C語(yǔ)言庫(kù)函數(shù)

    這篇文章主要介紹了C語(yǔ)言庫(kù)函數(shù)的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-09-09
  • C++程序簡(jiǎn)單示例

    C++程序簡(jiǎn)單示例

    這篇文章主要給大家分享的是C++程序簡(jiǎn)單示例,下面文章將圍繞C++程序的相關(guān)資料展開(kāi)內(nèi)容,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-11-11
  • C語(yǔ)言實(shí)現(xiàn)電子郵件地址驗(yàn)證程序

    C語(yǔ)言實(shí)現(xiàn)電子郵件地址驗(yàn)證程序

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)電子郵件地址驗(yàn)證程序,利用的是POSIX正則表達(dá)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-11-11
  • VSCode中C/C++編碼亂碼問(wèn)題的兩種解決方法

    VSCode中C/C++編碼亂碼問(wèn)題的兩種解決方法

    在中國(guó)地區(qū),Windows 系統(tǒng)中的 cmd 和 PowerShell 默認(rèn)編碼是 GBK,但 VSCode 默認(rèn)使用 UTF-8 編碼,這種編碼不一致會(huì)導(dǎo)致在 VSCode 終端中運(yùn)行 C/C++ 程序時(shí)出現(xiàn)亂碼,以下介紹兩種方法來(lái)解決這一問(wèn)題,需要的朋友可以參考下
    2025-03-03
  • C++學(xué)生信息管理系統(tǒng)

    C++學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家想詳細(xì)介紹了C++學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • c++ 數(shù)據(jù)結(jié)構(gòu)map的使用詳解

    c++ 數(shù)據(jù)結(jié)構(gòu)map的使用詳解

    這篇文章主要介紹了c++ 數(shù)據(jù)結(jié)構(gòu)map的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下
    2021-04-04
  • C++中的常用庫(kù)

    C++中的常用庫(kù)

    這篇文章主要介紹了C++中的常用庫(kù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • C語(yǔ)言 while語(yǔ)句的用法詳解

    C語(yǔ)言 while語(yǔ)句的用法詳解

    本文主要介紹C語(yǔ)言while 語(yǔ)句,這里對(duì)while 循環(huán)做詳細(xì)講解,并提供示例代碼,希望能幫助學(xué)習(xí)C語(yǔ)言的同學(xué)
    2016-07-07
  • 關(guān)于移位操作的一點(diǎn)重要說(shuō)明

    關(guān)于移位操作的一點(diǎn)重要說(shuō)明

    下面小編就為大家?guī)?lái)一篇關(guān)于移位操作的一點(diǎn)重要說(shuō)明。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • C++中set/multiset與map/multimap的使用詳解

    C++中set/multiset與map/multimap的使用詳解

    這篇文章主要為大家詳細(xì)介紹了C++中set/multiset與map/multimap的使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-02-02

最新評(píng)論

赣州市| 桃园县| 玉环县| 达拉特旗| 彰武县| 高邮市| 枣强县| 青浦区| 绥宁县| 郁南县| 肥乡县| 闸北区| 乌拉特后旗| 清水河县| 巴彦淖尔市| 横峰县| 郓城县| 高尔夫| 富裕县| 南投县| 邻水| 安康市| 双峰县| 乌拉特后旗| 杂多县| 阳东县| 磐石市| 安康市| 多伦县| 新郑市| 乌拉特前旗| 汶川县| 岱山县| 济阳县| 南木林县| 昭平县| 静海县| 遂昌县| 永城市| 大厂| 望江县|