91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++有哪些學習要點

發布時間:2021-11-30 16:33:31 來源:億速云 閱讀:146 作者:iii 欄目:編程語言

本篇內容介紹了“C++有哪些學習要點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

16. 內聯函數(inline)在實現上實際和宏類似,在內聯函數出現的地方將函數展開來避免函數調用時的出棧、如棧,提高效率。但內聯函數的代價是:代碼增大。inline函數適合成員函數和自由函數。在類中實現的函數自動為內聯函數。inline必須定義到函數的實現上,例如:inline int PlusOne(int) 是無效的。友元函數在類的體內被實現自動變為內聯函數。

17. #include

#define DEBUG(X) cout<<#X"="<

其中的#X表示X被當作字符串輸出。

18. assert(0 != 0); 如果assert中的條件為假,則運行期間回退出程序,且報告出錯代碼的行號。(#include)

19. 靜態對象在main結束或exit()被調用時才調用自身的析構函數。這意味著,在對象的析構函數中調用exit()是很危險的,有可能進入一個死循環中。調用abort()來退出函數,靜態對象的析構函數并不會被調用。我們可以用atexit()來指定跳出main或調用exit時要執行的操作,用atexit注冊的函數,可以在所有對象的析構函數之前調用。

void exit_fn2(void)  {  printf("Exit function #2 called\n");  } //處理函數  atexit(exit_fn2);

20. 全局變量實際上用的是靜態存儲。靜態變量的構造是在進入main之前調用的,在main結束時調用它的析構函數。變量的名字由小范圍(c++而言):

//*.cpp  int a; //靜態變量,但為 extern int a; 即它是全局的,外部可見的  static int b; //靜態變量,static 和extern相反,只在*.cpp中有效,對其他單元(文件)是不可見的。函數的定義和上面相同。  main()  { } 

類的靜態成員變量可以如下賦值:int X::s=23;(在*.cpp中,無論公私都可以)

21. 名字空間(namespace): 定義一個名字空間,然后使用unsing就可以將當前的類型上下文轉換名字空間所定地的.

namespace math  {  enum sign{positive, negative};  class integer{  int i;  sign s;  public:  interger(int I=0): i(i) {&hellip;&hellip;&hellip;}  sign Sign() {&hellip;&hellip;&hellip;}  &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;..  };//end class  interger A, B, C;  interger divide(interger, interger);  }//no ;  void q()  {  using namespace math;  interger A; //hides math::A  A.Sign(negative);  Math::A.Sign(positive);  }

22. 一般對于函數flaot f(int a, int b); 某些c++編譯器編譯后生成_f_int_int的名字,有些c編譯器則生成_f的名字。故在c++中鏈接c的庫函數時要用extern “C”告訴編譯器,按c的規則來編譯函數。類似的還有extern “C”{#include “myhead.h”},c++還支持extern “C++”{}.

23. 在函數調用時,傳引用也是將指針壓棧。

24. 構造函數、析構函數、賦值構造函數、重載的=,四者的調用順序:(三種函數都已實現)

a) X x; X a=x;

result:  X:construct  X:copy_struct

b) X x; X a; a=x;

Result:  X:construct  X:construct  X:copy_stru  operator =  X:destruct

如果沒有賦值構造函數則結果:

X:construct  X:construct  operator =  X:destruct 

(如果直接X a=x;這不掉用一般的構造函數,調用復制構造函數)

指向類的成員函數的指針:設 int X:: a(void){}

X x;  int (X:: *pf)(void)= &X::a;  (x.*pf)();

指向成員變量的指針: 設int i; 是X的成員變量

int X::*pm = &X::i;  X x;

“C++有哪些學習要點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

隆德县| 清远市| 库伦旗| 顺义区| 武夷山市| 德昌县| 湘乡市| 晋州市| 六枝特区| 曲阜市| 西青区| 婺源县| 砚山县| 丰县| 镇平县| 云龙县| 石家庄市| 建湖县| 孟津县| 宾阳县| 安化县| 肃南| 海城市| 赤城县| 汽车| 墨脱县| 理塘县| 芦溪县| 平顺县| 满城县| 祁阳县| 南汇区| 华阴市| 寿宁县| 永川市| 抚顺县| 松潘县| 太仆寺旗| 贞丰县| 龙胜| 福鼎市|