自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++學(xué)習(xí)要點(diǎn)總結(jié)(上)

開(kāi)發(fā) 后端
本文是作者對(duì)于C++學(xué)習(xí)的要點(diǎn)總結(jié),筆者轉(zhuǎn)載過(guò)來(lái)與大家分享一下,希望對(duì)各位能有所幫助。本文是C++學(xué)習(xí)要點(diǎn)總結(jié)的前半部分。

  C++學(xué)習(xí)要點(diǎn)總結(jié):

  1. 傳指針時(shí),我們可以通過(guò)指針來(lái)修改它在外部所指向的內(nèi)容。但如果要修改外部指針?biāo)赶虻膶?duì)象是不可能的。例如傳遞外部指針到函數(shù)內(nèi)來(lái)分配空間,必須傳遞指針的指針或指針的引用。

  2. char carry[10] = {0}; 編譯器會(huì)將其后所有的東西都置0;

  3. 函數(shù)返回值為const時(shí),返回的東西付給一個(gè)類(lèi)型相同的標(biāo)示后其不能為左值;

  4. const int *i; int const *i; int * const i; 前兩個(gè)功能相同,說(shuō)明I所指向的內(nèi)容不變;***一個(gè)說(shuō)明指針指向的地址不變,但內(nèi)容可變。

  5. 類(lèi)中的const成員函數(shù)。定義為在原型后加const。常量函數(shù)不能修改類(lèi)中的任何屬性。但有兩種方法可以修改。

  a) {(myclass *)this->member1 = values;}

  b) 將一個(gè)成員定義成mutable即可被常量函數(shù)修改。

  6. 類(lèi)中的常量const 類(lèi)型的,不能在類(lèi)中被用來(lái)定義數(shù)組。而enum {ONE=100; TWO=2};定義的ONE、TWO卻可以。通常的enum定義的置分配問(wèn)題:enum A{ L=9, Z};此時(shí)Z的值為10。

  7. 用const定義的int可用來(lái)開(kāi)辟數(shù)組,但const定義的常量數(shù)組中的元素,不能用來(lái)定義數(shù)組。

  8. 用sizeof計(jì)算變量的空間,如果是數(shù)組,按實(shí)際空間返回;常量字符串(實(shí)際上是在靜態(tài)內(nèi)存區(qū)開(kāi)辟的變量)sizeof返回比實(shí)際長(zhǎng)度加一。如果是指針則不考慮它指向的空間大小,僅僅返回指針類(lèi)型的大小。如果用sizeof計(jì)算函數(shù)的行參,即使是屬組也僅僅返回一個(gè)相關(guān)類(lèi)型指針的大小。

  9. 形如int iarray[] = {12, 124, 433};編譯器會(huì)自動(dòng)給iarray分配3個(gè)元素的長(zhǎng)度。元素長(zhǎng)度的個(gè)數(shù)計(jì)算公式為sizeof(iarray) / sizeof(*iarray)。

  10. 拷貝構(gòu)造函數(shù):當(dāng)行參和實(shí)參結(jié)合時(shí),如果是復(fù)雜對(duì)象的傳值類(lèi)型,則調(diào)用拷貝構(gòu)造函數(shù)生成一個(gè)臨時(shí)對(duì)象作為實(shí)參,退出函數(shù)時(shí),臨時(shí)對(duì)象被調(diào)用析構(gòu)函數(shù)釋放。當(dāng)返回值是復(fù)雜對(duì)象是,也是調(diào)用拷貝構(gòu)造函數(shù)來(lái)賦值。這就出現(xiàn)構(gòu)造函數(shù)和析構(gòu)函數(shù)被調(diào)用次數(shù)不相等的情況??截悩?gòu)造函數(shù)的原型為A(A&),我們可在類(lèi)中重載。(缺省的拷貝構(gòu)造函數(shù)是使用位(bit)拷貝方法:淺層拷貝,不拷貝指針指向的內(nèi)容)。

  11. volatile類(lèi)型的變量告訴編譯器,本變量不需要進(jìn)行代碼優(yōu)化。在多線(xiàn)程的應(yīng)用中,我們?nèi)绻x入一個(gè)變量到寄存器,此時(shí)時(shí)間片到期,去處理其他線(xiàn)程了,在重新獲得處理機(jī)時(shí),volatile類(lèi)型告訴處理機(jī),重新從變量讀取數(shù)據(jù)到寄存器,而不是用寄存器數(shù)據(jù)直接處理,這樣可以防止臟數(shù)據(jù)。

  12. class 和struct在一定程度上有相同的功能,只不過(guò)前者缺省的成員是私有的,后者在缺省時(shí)成員為共有的。故而class不是c++必需的保留字

  13. c和c++編譯器,對(duì)相同的函數(shù)名編譯后生成的相同的標(biāo)示不同,故而在引用c的庫(kù)文件時(shí)必須使用extern “C”告訴編譯器,它是c的函數(shù),按c的規(guī)則編譯。通常我們使用的標(biāo)準(zhǔn)頭文件已被處理過(guò)。

  14. #include “filename”; #include ,前者先在當(dāng)前目錄下尋找文件,如果找不到再到系統(tǒng)規(guī)定的路徑下找,后者直接到系統(tǒng)規(guī)定的路徑下找。

  15. 任何地方分配的靜態(tài)變量(static),其生命周期和主進(jìn)程相同。第二次定義一個(gè)已存在的static變量,對(duì)變量的內(nèi)用無(wú)影響,但它的可見(jiàn)范圍只在定義的范圍內(nèi)。(從靜態(tài)變量的特性不難理解,類(lèi)中的static類(lèi)型是所有對(duì)象共享的)

  本文未完,歡迎繼續(xù)閱讀后半部分C++學(xué)習(xí)要點(diǎn)總結(jié)(下)。

【編輯推薦】

  1. C++中的指針用法總結(jié)
  2. 如何成為一名C++程序員
  3. c++編程常用工具
  4. 給C++初學(xué)者的50個(gè)忠告
  5. c++最基礎(chǔ)的20條規(guī)則
責(zé)任編輯:韓亞珊 來(lái)源: itlab博客
相關(guān)推薦

2011-04-19 17:44:02

C++

2010-02-05 15:30:54

C++多線(xiàn)程測(cè)試

2011-07-13 16:49:59

C++

2010-01-25 14:31:07

C++類(lèi)

2010-01-14 17:02:10

學(xué)習(xí)C++

2010-01-21 18:00:59

C++語(yǔ)言

2010-01-18 10:53:26

2010-01-11 14:05:01

C++學(xué)習(xí)方法

2010-01-26 17:53:05

C++入門(mén)學(xué)習(xí)

2010-01-27 16:52:31

C++語(yǔ)言學(xué)習(xí)

2010-01-14 09:43:26

C++標(biāo)準(zhǔn)程序庫(kù)

2010-06-30 18:09:22

UML建模

2010-01-15 14:59:54

C++標(biāo)準(zhǔn)程序庫(kù)

2010-07-09 14:05:56

UML建模

2010-01-22 16:35:41

C++開(kāi)發(fā)

2010-01-25 11:21:01

C++語(yǔ)法

2010-01-26 17:11:13

C++編程

2010-01-13 11:10:17

C++庫(kù)函數(shù)

2010-01-21 15:07:31

C++開(kāi)發(fā)

2010-01-22 15:53:55

C++轉(zhuǎn)換
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)