日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C++學習要點總結(下)

  上一篇文章我們已經(jīng)介紹了C++學習要點總結的前半部分C++學習要點總結(上),這篇我們繼續(xù)介紹下半部分:

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設公司是一家服務多年做網(wǎng)站建設策劃設計制作的公司,為廣大用戶提供了網(wǎng)站制作、成都網(wǎng)站建設,成都網(wǎng)站設計,廣告投放平臺,成都做網(wǎng)站選成都創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務歡迎致電。

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

  17. #include

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

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

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

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

 
 
 
  1. void exit_fn2(void)  
  2. {  
  3. printf("Exit function #2 called\n");  
  4. } //處理函數(shù)  
  5. atexit(exit_fn2);  

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

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

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

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

 
 
 
  1. namespace math  
  2. {  
  3. enum sign{positive, negative};  
  4. class integer{  
  5. int i;  
  6. sign s;  
  7. public:  
  8. interger(int I=0): i(i) {………}  
  9. sign Sign() {………}  
  10. …………………..  
  11. };//end class  
  12. interger A, B, C;  
  13. interger divide(interger, interger);  
  14. }//no ;  
  15. void q()  
  16. {  
  17. using namespace math;  
  18. interger A; //hides math::A  
  19. A.Sign(negative);  
  20. Math::A.Sign(positive);  

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

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

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

  a) X x; X a=x;

 
 
 
  1. result:  
  2. X:construct  
  3. X:copy_struct   

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

 
 
 
  1. Result:  
  2. X:construct  
  3. X:construct  
  4. X:copy_stru  
  5. operator =  
  6. X:destruct 

  如果沒有賦值構造函數(shù)則結果:

 
 
 
  1. X:construct  
  2. X:construct  
  3. operator =  
  4. X:destruct   

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

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

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

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

 
 
 
  1. int X::*pm = &X::i;  
  2. X x; 

網(wǎng)站題目:C++學習要點總結(下)
網(wǎng)站URL:http://www.dlmjj.cn/article/dhcogep.html