国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

北京網(wǎng)站建設新聞國產長尾關鍵詞拘挖掘

北京網(wǎng)站建設新聞,國產長尾關鍵詞拘挖掘,網(wǎng)站關鍵詞密度,百度優(yōu)化seo目錄 1. 引用 1.1 引用特性 1.2 常引用 1.2.1 權限放大 1.2.2 權限縮小 1.3 使用場景 1.3.1 傳參 1.3.2 做返回值 1.4 傳值和傳引用的效率比較 1.5 引用和指針的區(qū)別 2. 內聯(lián)函數(shù) 2.1 inline 2.2 特性 1. 引用 在C中,引入了一個新的概念引用,與…

目錄

1. 引用

1.1 引用特性

1.2 常引用

1.2.1 權限放大

?1.2.2 權限縮小

1.3 使用場景

1.3.1 傳參?

1.3.2 做返回值

?1.4 傳值和傳引用的效率比較

?1.5 引用和指針的區(qū)別

2. 內聯(lián)函數(shù)

?2.1 inline

?2.2 特性


1. 引用

? ? ? ? 在C++中,引入了一個新的概念引用,與傳統(tǒng)的定義變量不同,傳統(tǒng)的定義變量是新開一份空間來存儲數(shù)據(jù),而引用則是給一個已經(jīng)存在的空間起一個別名,它和引用的變量共用同一份空間。

1.1 引用特性

  • 引用必須在定義的時候初始化
  • 一個變量可以有多個引用
  • 引用一旦引用一個實體就不能在引用其他實體
	int a = 0;int& b = a;int& c = a;cout << a << ' ' << b << ' ' << c << endl;cout << &a << ' ' << &b << ' ' << &c << endl;

?輸出:

0 0 0
000000B0DDAFF6A4 000000B0DDAFF6A4 000000B0DDAFF6A4

? ? ? ? 從上述的輸出可以很明顯的看出引用是和被引用的實體共用用一塊空間。

1.2 常引用

? ? ? ? 常引用就是const關鍵字修飾的引用,但是我們在使用常引用是會遇到各種報錯,其實就是權限放大縮小的問題,所謂權限就是是否具有讀或者寫的權力,在C++中引用支持權限縮小但不支持權限放大。

1.2.1 權限放大

? ? ? ? 首先要說明的是c++是不支持權限放大的,如果出現(xiàn)權限放大就會出現(xiàn)報錯。(權限放大就是增加了權限,比如原本變量用const修飾只能讀不能修改,你用引用引用它時沒有使用const修飾即為可以修改,這就叫做權限放大,這是不被編譯器允許的。)

	const int a = 0;//錯誤寫法int& ra = a; //變量a有const修飾符,說明a只讀不可寫入,這里沒有用const修飾,造成權限放大。//正確寫法const int& rra = a;

? ? ? ? 還有一種情況特別容易發(fā)生錯誤,而且犯錯的人常常覺得自己沒有發(fā)生權限放大,但是確確實實發(fā)生了,并且發(fā)生了報錯,這就是會發(fā)生類型轉換的場景。比如下面的場景。?

?1.2.2 權限縮小

? ? ? ? 在C++中權限縮小是被允許的,權限縮小就是比如原來的變量可讀可寫,你用一個const引用引用這個實體是完全可以的,比如:

	int a = 0;const int& b = a;

1.3 使用場景

1.3.1 傳參?

? ? ? ? 傳參的一個特別典型的應用就是swap了,因為引用所引用的實體和本體共用的是一個空間,所以引用發(fā)生改變其實也就是本體發(fā)生改變。所以swap交換變量值就是一個很典型的應用。

void mySwap(int& a, int& b)
{swap(a, b);
}
int main()
{int a = 0, b = 1;cout << a << b << endl;swap(a, b);cout << a << b << endl;
}

?輸出:

01
10

1.3.2 做返回值

int& count()
{static int a = 0;a++;//...return a;
}

? ? ? ? ?但是我們在返回引用的時候要特別注意被引用對象的作用域和聲明周期,以免導致非凡的訪問,比如下面的案例:

//錯誤案例
int& add(int a, int b)
{int c = a + b;return c;
}
int main()
{cout << add(1, 2) << endl;
}

? ? ? ? 所以這里縱使編譯器返回了正確的結果甚至也沒有報錯,但它依然是一種錯誤的使用。

?1.4 傳值和傳引用的效率比較

? ? ? ? 以值作為參數(shù)或者返回類型,在傳參和返回的期間,變量不會直接傳遞實參或返回變量本身,而傳遞的是實參或者變量的一份臨時拷貝,如果需要拷貝的類型特別大的時候,效率是極低的。而傳引用是直接傳遞實參或返回變量的本身,幾乎沒有什么消耗。? ??

?1.5 引用和指針的區(qū)別

? ? ? ? 在語法概念上引用其實是一個別名沒有獨立的空間,和其引用的實體共用同一塊空間。但是在底層的實現(xiàn)上實際上是有空間的,因為引用是按照指針方式來實現(xiàn)的。我們通過引用和指針的匯編代碼就可以很容易的看出來。

????????引用和指針的不同點:

  1. ?引用在概念上定義一個變量的別名,指針存儲一個變量地址。
  2. 引用在定義的時候必須初始化,指針沒有要求。
  3. 引用只能引用一個實體,不能更改,指針可以在任何時候指向一個任意的同類型的實體。
  4. 沒有NULL引用,有NULL指針。
  5. sizeof(引用)是引用類型的大小,但指針始終是地址空間所占字節(jié)個數(shù)。
  6. 引用自增為所引用的實體自增,指針自增表示向后偏移一個類型的大小。
  7. 指針需要顯式解引用,引用編譯器自己處理。
  8. 引用比指針安全。

2. 內聯(lián)函數(shù)

?2.1 inline

? ? ? ? 以inline關鍵字修飾的函數(shù)叫做內聯(lián)函數(shù),編譯時C++會在調用內聯(lián)函數(shù)的地方展開,沒有函數(shù)建立棧幀的開銷,提升程序運行的效率。C++期望用inline去替代c語言的宏(因為宏不方便調試,會使代碼可讀性降低,可維護性差,沒有類型的安全檢查)

?2.2 特性

????????inline是一種空間換時間的做法,如果編譯器將函數(shù)當成內聯(lián)函數(shù)處理,在編譯階段,會用將函數(shù)體替換函數(shù)調用,但會讓目標文件變大。

? ? ? ? inline對于編譯器只是一個建議,不同的編譯器關于inline的實現(xiàn)機制有可能不同,一般將函數(shù)規(guī)模較小的函數(shù)不是遞歸且頻繁調用的函數(shù)采用inline修飾,否則編譯器可能會忽略inline特性。

? ? ? ? inline也不支持聲明和定義分離分離會導致鏈接錯誤,因為inline函數(shù)會被展開,沒有函數(shù)地址,如果聲明和定義分開會導致鏈接階段找不到函數(shù)的地址從而報錯。

http://aloenet.com.cn/news/45785.html

相關文章:

  • 有機蔬菜哪個網(wǎng)站做的更好溫州seo按天扣費
  • 網(wǎng)站制作公司興田德潤怎么聯(lián)系今天熱點新聞
  • 佛山網(wǎng)站代運營準度科技有限公司網(wǎng)站內部鏈接優(yōu)化方法
  • 紹興做網(wǎng)站優(yōu)化大師電腦版
  • 免費商品列表網(wǎng)頁模板源代碼seo快速排名上首頁
  • 定制制作網(wǎng)站哪家好惠州seo網(wǎng)站推廣
  • 服裝官網(wǎng)網(wǎng)站建設百度推廣登陸后臺
  • 幫你省網(wǎng)站怎么做怎樣做網(wǎng)絡銷售平臺
  • 靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁的區(qū)別是什么魔貝課凡seo課程好嗎
  • 網(wǎng)站服務器打不開大數(shù)據(jù)培訓班需要多少錢
  • 邢臺市做網(wǎng)站seo工具不包括
  • 昔陽網(wǎng)站建設注冊域名在哪里注冊
  • php做門戶網(wǎng)站2024年最新時事新聞
  • 電影頻道做的網(wǎng)站廣告谷歌手機版瀏覽器官網(wǎng)
  • 小企業(yè)網(wǎng)絡營銷外包南寧seo產品優(yōu)化服務
  • wordpress建站好嗎武漢seo搜索優(yōu)化
  • 網(wǎng)絡營銷常用的方法seo 優(yōu)化技術難度大嗎
  • 專業(yè)做網(wǎng)站公司排名人工智能培訓機構哪個好
  • 做壁畫的網(wǎng)站湖南網(wǎng)站優(yōu)化
  • 如何在搜索中找到自己做的網(wǎng)站設計模板網(wǎng)站
  • msn網(wǎng)站制作windows優(yōu)化大師怎么用
  • 做商業(yè)廣告有什么網(wǎng)站好推銷的北大青鳥職業(yè)技術學院簡介
  • 女人能做網(wǎng)站開發(fā)嗎世界杯比分
  • 做網(wǎng)站可以申請專利嗎優(yōu)化防疫措施
  • 非響應式網(wǎng)站改響應式百度推廣賬號
  • 淘寶了做網(wǎng)站賣什么好百度怎么優(yōu)化網(wǎng)站關鍵詞
  • 網(wǎng)站開發(fā)實施計劃與安排網(wǎng)絡推廣培訓
  • 定制網(wǎng)站前準備手機版怎么用百度快照
  • 廣東企業(yè)網(wǎng)站模板推薦長春網(wǎng)站優(yōu)化團隊
  • 保定專業(yè)做網(wǎng)站seo網(wǎng)絡貿易網(wǎng)站推廣