国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr

這篇具有很好參考價(jià)值的文章主要介紹了【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言

一、內(nèi)聯(lián)函數(shù)

?普通的函數(shù)在調(diào)用的時(shí)候會(huì)開(kāi)辟函數(shù)棧幀,會(huì)產(chǎn)生一定量的消耗,在C語(yǔ)言中可以用宏函數(shù)來(lái)解決這個(gè)問(wèn)題,但是宏存在以下缺陷:復(fù)雜、容易出錯(cuò)、可讀性差、不能調(diào)試。為此,C++中引入了內(nèi)聯(lián)函數(shù)這種方法。

1.1 定義

?以inline修飾的函數(shù)叫做內(nèi)聯(lián)函數(shù),編譯時(shí)C++編譯器會(huì)在調(diào)用內(nèi)聯(lián)函數(shù)的地方展開(kāi),沒(méi)有函數(shù)調(diào)用建立棧幀的開(kāi)銷(xiāo),所以?xún)?nèi)聯(lián)函數(shù)可以提高程序的運(yùn)行效率。
??普通函數(shù):

int Add(int x, int y)//這里的Add是一個(gè)普通函數(shù)
{
	return x + y ;
}

int main()
{
	int ret = 0;
 	ret = Add(3, 5);
	cout << ret << endl;
	return 0;
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
??內(nèi)聯(lián)函數(shù):

inline int Add(int x, int y)
{
	return x + y ;
}

int main()
{
	int ret = 0;
 	ret = Add(3, 5);
	cout << ret << endl;
	return 0;
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
注意:在默認(rèn)的Debug模式下,內(nèi)聯(lián)函數(shù)是不會(huì)展開(kāi)的,需要進(jìn)行設(shè)置,設(shè)置過(guò)程如下:
【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言

1.2 特性

  • inline是一種以時(shí)間換空間的做法,如果編譯器將函數(shù)當(dāng)成內(nèi)聯(lián)函數(shù)處理,在編譯階段,會(huì)用函數(shù)體替換函數(shù)調(diào)用。缺陷:可能會(huì)使目標(biāo)文件變大,優(yōu)點(diǎn):少了調(diào)用開(kāi)銷(xiāo),提高程序運(yùn)行效率。
  • inline對(duì)編譯器而言只是建議,不同的編譯器關(guān)于inline的實(shí)現(xiàn)機(jī)制可能不同,一般建議:將函數(shù)規(guī)模小的(即函數(shù)不是很長(zhǎng),具體沒(méi)有準(zhǔn)確的說(shuō)法,取決于編譯器內(nèi)部實(shí)現(xiàn))、不是遞歸、且頻繁調(diào)用的函數(shù)采用inline修飾,否則編譯器會(huì)忽略inline特性。
  • inline建議函數(shù)聲明和定義不能分離,因?yàn)閮?nèi)聯(lián)函數(shù)在預(yù)處理階段就直接展開(kāi),因此內(nèi)聯(lián)函數(shù)不會(huì)進(jìn)符號(hào)表,因此如果聲明和定義分離,頭文件只有聲明,在預(yù)處理階段,頭文件展開(kāi),只知道該函數(shù)是一個(gè)內(nèi)聯(lián)函數(shù),沒(méi)有對(duì)應(yīng)函數(shù)的定義,因此就無(wú)法完成替換,那就只能等通過(guò)call在鏈接階段去找該函數(shù),但是它是內(nèi)聯(lián)函數(shù),沒(méi)有進(jìn)符號(hào)表,所以鏈接階段就會(huì)報(bào)錯(cuò)。

??為什么是函數(shù)規(guī)模???
?假設(shè)一個(gè)函數(shù)經(jīng)過(guò)編譯,得到五十條匯編指令。普通情況下,調(diào)用此函數(shù)只需要一條call指令,調(diào)用10000此也就10000條call指令,但是如果把這個(gè)函數(shù)設(shè)置成內(nèi)聯(lián)函數(shù),指令的數(shù)量就會(huì)大大增加,因?yàn)閮?nèi)聯(lián)函數(shù)完成的是替換,把所有調(diào)用它的地方,都用函數(shù)體去替換,這也就意味著,原來(lái)1條call指令就能完成的任務(wù),現(xiàn)在替換后就變成了50條指令,假如還是調(diào)用了10000次該函數(shù),那就從10000條call指令,變成了500000條指令,其實(shí)這就是代碼膨脹。

inline int Add(int x, int y)
{
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	cout << "xxxxxxxxxxxx" << endl;
	return x + y ;
}

int main()
{
	int ret = 0;
 	ret = Add(3, 5);
	cout << ret << endl;
	return 0;
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
?對(duì)于上面函數(shù)體比較長(zhǎng)的函數(shù),即使我們?nèi)藶橐?guī)定了它是內(nèi)聯(lián),但最終還是通過(guò)call指令去調(diào)用函數(shù)。

??為什么是被頻繁調(diào)用?
?因?yàn)槠胀ê瘮?shù)在調(diào)用的時(shí)候會(huì)創(chuàng)建函數(shù)棧幀,若頻繁調(diào)用就會(huì)頻繁的創(chuàng)建棧幀,增加消耗。宏和內(nèi)聯(lián),就是為了解決開(kāi)銷(xiāo)問(wèn)題。如果調(diào)用的次數(shù)不多,開(kāi)辟一點(diǎn)棧幀是無(wú)所謂的。

二、auto關(guān)鍵字

2.1 簡(jiǎn)介

?C++11中規(guī)定:auto不再是一個(gè)存儲(chǔ)類(lèi)型指示符,而是作為一個(gè)新的類(lèi)型指示符來(lái)指示編譯器,auto聲明的變量必須由編譯器在編譯時(shí)期推導(dǎo)而得。簡(jiǎn)單來(lái)說(shuō),auto會(huì)根據(jù)表達(dá)式自動(dòng)推導(dǎo)類(lèi)型。

int main()
{
	int a = 0;
	auto b = a;//自動(dòng)推導(dǎo)出b的類(lèi)型是int
	auto c = 1.11 + 1;//自動(dòng)推導(dǎo)出c的類(lèi)型是double
	cout << typeid(b).name() << endl;//typeid可用來(lái)查看變量類(lèi)型
	cout << typeid(c).name() << endl;
	return 0;
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
??注意:
?使用auto定義變量時(shí)必須對(duì)其進(jìn)行初始化,在編譯階段編譯器需要根據(jù)初始化表達(dá)式,來(lái)推導(dǎo)auto的實(shí)際類(lèi)型。因此,auto并非是一種“類(lèi)型”的聲明,而是一個(gè)類(lèi)型聲明的“占位符”,編譯器在編譯階段會(huì)將auto替換為變量實(shí)際的類(lèi)型。

int main()
{
	auto a;//錯(cuò)誤,必須要初始化
	return 0;
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言

2.2 auto使用細(xì)則

??auto與指針和引用結(jié)合起來(lái)使用
?用auto聲明指針類(lèi)型時(shí),用auto和aauto*沒(méi)有任何區(qū)別,但是auto聲明引用類(lèi)型時(shí),必須要加&,如下,如果c不加&的話,就是x的一份拷貝。

int main()
{
	int x = 10;
	auto a = &x;//根據(jù)右邊推出,a是一個(gè)指針類(lèi)型
	auto* b = &x;//右邊必須是一個(gè)地址,因?yàn)榍懊婕恿?
	auto& c = x;//引用必須要加&
}

??在同一行定義多個(gè)變量
?當(dāng)在同一行聲明多個(gè)變量的時(shí)候,這些變量必須是相同的類(lèi)型,否則編譯器會(huì)報(bào)錯(cuò),因?yàn)榫幾g器實(shí)際只對(duì)第一個(gè)類(lèi)型進(jìn)行推導(dǎo),然后用推導(dǎo)出來(lái)的類(lèi)型定義其他變量。

int main()
{
	auto a = 10, b = 30;
	auto c = 60, d = 1.1;//該行編譯失敗,c和d的初始化類(lèi)型不同
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言

2.3 不能使用auto的場(chǎng)景

  • auto不能作為函數(shù)的參數(shù)
//錯(cuò)誤,編譯器無(wú)法對(duì)x的實(shí)際類(lèi)型進(jìn)行推導(dǎo)
void Text(auto x)
{}
  • ·auto不能直接用來(lái)聲明數(shù)組
void Text()
{
	//auto arr[] = { 1, 2, 3 };//錯(cuò)誤寫(xiě)法,請(qǐng)勿模仿
	int arr[] = {1, 2, 3}//這才是正確寫(xiě)法
}

小Tips:auto在實(shí)際中常被用在:基于范圍的for循環(huán)中、還有l(wèi)ambda表達(dá)式中、其次就是一些非常非常長(zhǎng)的類(lèi)型,也會(huì)用auto進(jìn)行替換。

三、基于范圍的for循環(huán)

??C++98中遍歷一個(gè)數(shù)組:

void TestFor()
{
	int array[] = { 1, 2, 3, 4, 5 };
	for (int i = 0; i < sizeof(array) / sizeof(array[0]); ++i)//通過(guò)下標(biāo)訪問(wèn)
     	array[i] *= 2;
	for (int* p = array; p < array + sizeof(array)/ sizeof(array[0]); ++p)//通過(guò)指針訪問(wèn)
     	cout << *p << endl;
}

??C++98中遍歷一個(gè)數(shù)組:
?對(duì)于一個(gè)有范圍的集合而言,由程序員來(lái)說(shuō)明循環(huán)的范圍是多余的,有時(shí)候還容易犯錯(cuò)誤。因此C++11中引入了基于范圍for循環(huán)。for循環(huán)后的括號(hào)由冒號(hào)“ : ”分為兩部分:第一部分是范圍內(nèi)用于迭代的變量,第二部分則表示被迭代的范圍

void TestFor()
{
	int array[] = { 1, 2, 3, 4, 5 };
	for(auto& e : array)//加引用可以對(duì)后面的值修改
     	e *= 2;
	for(auto e : array)
     	cout << e << " ";
	return 0;
}

3.1 范圍for的使用條件

  • for循環(huán)迭代的范圍必須是確定的
  • 迭代的對(duì)象要實(shí)現(xiàn)++和==的操作

?對(duì)數(shù)組而言,就是數(shù)組中第一個(gè)元素和最后一個(gè)元素的范圍;對(duì)于類(lèi)而言,應(yīng)該提供begin和end方法,begin和end就是for循環(huán)的迭代范圍。范圍for本質(zhì)上是迭代器,支持迭代器就支持范圍for。

void Text(int arr[])//arr本質(zhì)上只是一個(gè)地址,沒(méi)有范圍
{
	for (auto a : arr)//錯(cuò)誤
	{
		cout << a << endl;
	}
}

四、指針空值nullptr

?良好的編程習(xí)慣要求我們,在聲明一個(gè)變量時(shí)最好給該變量一個(gè)合適的初始值,否則可能出現(xiàn)不可預(yù)料的錯(cuò)誤,比如未初始化的指針。如果一個(gè)指針沒(méi)有合法的指向,我們一般會(huì)把它置空。
??回顧NULL:

void f(int)
{
	cout << "f(int)" << endl;
}
void f(int*)
{
	cout << "f(int*)" << endl;
}
int main()
{
	f(0);
	f(NULL);
	return 0;
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
?上述代碼的本意是:希望通過(guò)f(NULL);去調(diào)用void f(int*),但是通過(guò)執(zhí)行結(jié)果可以看出,f(NULL);調(diào)用的是void f(int)。這是因?yàn)?code>NULL被定義成了0,且C++98中規(guī)定,字面常量0,既可以是一個(gè)整型數(shù)字,也可以是無(wú)類(lèi)型的指針(void*)常量,但是編譯器默認(rèn)情況下將其看成一個(gè)整型常量,如果要將其按照指針的方式來(lái)使用,必須對(duì)其進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換(void*)0。
【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言
??認(rèn)識(shí)nullptr:
?nullptr用來(lái)表示指針空值,因?yàn)閚ullptr是C++11作為新關(guān)鍵字引入的,所以在使用的時(shí)候不需要包頭文件。C++11中,sizeof(nullptr)sizeof((void*)0)所占字節(jié)數(shù)相同。

int main()
{
	cout << sizeof(nullptr) << endl;
	cout << sizeof((void*)0) << endl;
	return 0;
}

【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言


?今天的分享到這里就結(jié)束啦!如果覺(jué)得文章還不錯(cuò)的話,可以三連支持一下,您的支持就是春人前進(jìn)的動(dòng)力!
【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr,初級(jí)C語(yǔ)言,c++,開(kāi)發(fā)語(yǔ)言文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-593940.html

到了這里,關(guān)于【C++雜貨鋪】?jī)?nèi)聯(lián)函數(shù)、auto、范圍for、nullptr的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C++初階】C++入門(mén)——內(nèi)聯(lián)函數(shù)、auto、范圍for、nullptr

    【C++初階】C++入門(mén)——內(nèi)聯(lián)函數(shù)、auto、范圍for、nullptr

    ?普通的函數(shù)在調(diào)用的時(shí)候會(huì)開(kāi)辟函數(shù)棧幀,會(huì)產(chǎn)生一定量的消耗,在C語(yǔ)言中可以用 宏函數(shù) 來(lái)解決這個(gè)問(wèn)題,但是宏存在以下缺陷: 復(fù)雜、容易出錯(cuò)、可讀性差、不能調(diào)試 。為此,C++中引入了 內(nèi)聯(lián)函數(shù) 這種方法。 ?以 inline 修飾 的函數(shù)叫做內(nèi)聯(lián)函數(shù), 編譯時(shí) C++編譯器會(huì)

    2024年02月16日
    瀏覽(34)
  • 【C++雜貨鋪】一文帶你走進(jìn)哈希:哈希沖突 | 哈希函數(shù) | 閉散列 | 開(kāi)散列

    【C++雜貨鋪】一文帶你走進(jìn)哈希:哈希沖突 | 哈希函數(shù) | 閉散列 | 開(kāi)散列

    在 C++98 中,STL 提供了底層為紅黑樹(shù)結(jié)構(gòu)的一些列關(guān)聯(lián)式容器,在查詢(xún)時(shí)效率可以達(dá)到 O ( l o g 2 N ) O(log2^N) O ( l o g 2 N ) ,即最差情況下需要比較紅黑樹(shù)高度次,當(dāng)樹(shù)中的結(jié)點(diǎn)非常多的時(shí)候,查詢(xún)效率也不理想。最好的查詢(xún)是,進(jìn)行很少的比較次數(shù)就能夠?qū)⒃卣业?,因此?/p>

    2024年02月08日
    瀏覽(21)
  • 【C++初階】引用&內(nèi)聯(lián)函數(shù)&auto關(guān)鍵字&范圍for循環(huán)&nullptr

    【C++初階】引用&內(nèi)聯(lián)函數(shù)&auto關(guān)鍵字&范圍for循環(huán)&nullptr

    ========================================================================= 個(gè)人主頁(yè)還有更多系列專(zhuān)欄: 小白不是程序媛 我的小倉(cāng)庫(kù): Gitee C++系列專(zhuān)欄: C++頭疼記 ========================================================================= 目錄 前言 引用 概念 引用的特點(diǎn) 常引用? 引用的使用場(chǎng)景 做參數(shù) ?做返

    2024年02月08日
    瀏覽(44)
  • 【C++心愿便利店】No.3---內(nèi)聯(lián)函數(shù)、auto、范圍for、nullptr

    【C++心愿便利店】No.3---內(nèi)聯(lián)函數(shù)、auto、范圍for、nullptr

    ??個(gè)人主頁(yè):@小沈YO. ??小編介紹:歡迎來(lái)到我的亂七八糟小星球?? ??專(zhuān)欄:C++ 心愿便利店 ??本章內(nèi)容:內(nèi)聯(lián)函數(shù)、auto、范圍for、nullptr 記得 評(píng)論?? +點(diǎn)贊?? +收藏?? +關(guān)注??哦~ 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 通過(guò)對(duì)C語(yǔ)言的學(xué)習(xí),對(duì)于宏有了一定

    2024年02月11日
    瀏覽(28)
  • 開(kāi)啟C++之旅(下):引用、內(nèi)聯(lián)函數(shù)及現(xiàn)代特性(auto和范圍for循環(huán))

    開(kāi)啟C++之旅(下):引用、內(nèi)聯(lián)函數(shù)及現(xiàn)代特性(auto和范圍for循環(huán))

    上次介紹了:開(kāi)啟C++之旅(上):探索命名空間與函數(shù)特性(缺省參數(shù)和函數(shù)重載) 今天就接著進(jìn)行c++入門(mén)的知識(shí)講解 引用 不是新定義一個(gè)變量,而是給已存在 變量取了一個(gè)別名 ,編譯器不會(huì)為引用變量開(kāi)辟內(nèi)存空間,它和它引用的變量 共用 同一塊內(nèi)存空間。通過(guò)引用,

    2024年01月17日
    瀏覽(162)
  • 【C++】?jī)?nèi)聯(lián)函數(shù)、auto關(guān)鍵字、基于范圍的for循環(huán)、指針空值nullptr

    【C++】?jī)?nèi)聯(lián)函數(shù)、auto關(guān)鍵字、基于范圍的for循環(huán)、指針空值nullptr

    ??樊梓慕: 個(gè)人主頁(yè) ??? 個(gè)人專(zhuān)欄: 《C語(yǔ)言》《數(shù)據(jù)結(jié)構(gòu)》《藍(lán)橋杯試題》《LeetCode刷題筆記》《實(shí)訓(xùn)項(xiàng)目》《C++》 ?? 每一個(gè)不曾起舞的日子,都是對(duì)生命的辜負(fù) 目錄 前言 1.內(nèi)聯(lián)函數(shù) 1.1概念 1.2特性 2.auto 2.1類(lèi)型別名思考 2.2auto簡(jiǎn)介 2.3auto的使用細(xì)則 2.4auto不能使

    2024年02月07日
    瀏覽(28)
  • 【C++】:函數(shù)重載,引用,內(nèi)聯(lián)函數(shù),auto關(guān)鍵字,基于范圍的for循環(huán),nullptr關(guān)鍵字

    【C++】:函數(shù)重載,引用,內(nèi)聯(lián)函數(shù),auto關(guān)鍵字,基于范圍的for循環(huán),nullptr關(guān)鍵字

    在C語(yǔ)言中,同名函數(shù)是不能出現(xiàn)在同一作用域的,但是在C++中卻可以,但是要滿足函數(shù)重載的規(guī)則。 那什么是函數(shù)重載呢?它的規(guī)則是什么呢? 函數(shù)重載 :是函數(shù)的一種特殊情況,C++允許在 同一作用域 中聲明幾個(gè)功能類(lèi)似的 同名函數(shù) ,這些同名函數(shù)的 形參列表(參數(shù)個(gè)數(shù)

    2024年04月26日
    瀏覽(26)
  • 【與C++的邂逅之旅】--- 內(nèi)聯(lián)函數(shù) && auto關(guān)鍵字 && 基于范圍的for循環(huán) && nullptr

    【與C++的邂逅之旅】--- 內(nèi)聯(lián)函數(shù) && auto關(guān)鍵字 && 基于范圍的for循環(huán) && nullptr

    關(guān)注小莊 頓頓解饞?(?? ? ??)? 博主專(zhuān)欄: ?? 與C++的邂逅之旅 ?? 數(shù)據(jù)結(jié)構(gòu)之旅 上篇我們了解了函數(shù)重載和引用,我們繼續(xù)學(xué)習(xí)有關(guān)C++的一些小語(yǔ)法— 內(nèi)聯(lián)函數(shù),auto,基于范圍的for循環(huán)以及 nullptr,請(qǐng)放心食用 ~ 這個(gè)函數(shù)不陌生吧,我們?cè)趯?shí)現(xiàn)排序算法時(shí)經(jīng)常

    2024年04月09日
    瀏覽(31)
  • 【C++初階】C++基礎(chǔ)(下)——引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字、基于范圍的for循環(huán)、指針空值nullptr

    【C++初階】C++基礎(chǔ)(下)——引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字、基于范圍的for循環(huán)、指針空值nullptr

    ? 目錄 1.?引用 1.1?引用概念 1.2?引用特性 1.3?常引用 1.4?使用場(chǎng)景 1.5?傳值、傳引用效率比較 1.6?引用和指針的區(qū)別 2.?內(nèi)聯(lián)函數(shù) 2.1?概念 2.2?特性 3.auto(C++11) 3.1?類(lèi)型別名思考 3.2 auto簡(jiǎn)介 3.3 auto的使用細(xì)則 3.4 auto不能推導(dǎo)的場(chǎng)景 4.?基于范圍的for循環(huán)(C++11) 4.1?

    2024年02月15日
    瀏覽(27)
  • 【C++雜貨鋪】引用

    【C++雜貨鋪】引用

    前言: ?相信大家在學(xué)習(xí)C語(yǔ)言的時(shí)候,最頭疼的就是指針,經(jīng)常會(huì)碰到一級(jí)指針、二級(jí)指針,這些指針使用起來(lái),稍有不慎就會(huì)等導(dǎo)致程序崩潰,為了讓廣大程序員少掉點(diǎn)頭發(fā),C++中提出了 引用 這一概念。當(dāng)然,在C++的代碼中,仍然可以兼容C語(yǔ)言的指針。 ?在語(yǔ)法上 引用

    2024年02月16日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包