av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

C++static不同的應(yīng)用方式

C++編程語(yǔ)言的應(yīng)用方式和其他語(yǔ)言特別是C語(yǔ)言有很多不同之處。那么今天大家就可以從C++ static的應(yīng)用方法來(lái)分析一下它的不同之處到底體現(xiàn)在哪里。同時(shí)又能讓大家進(jìn)一步掌握C++語(yǔ)言的編程方法。

目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、上饒網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

C++ static具體應(yīng)用方式代碼示例:

 
 
 
  1. public class C {   
  2. public static void M() {   
  3. Console.WriteLine("call in class C");   
  4. }   
  5. }  
  6. public class D : C {   
  7. public new static void M() {   
  8. Console.WriteLine("call in class D");   
  9. }   
  10. }  
  11. public class E where T : C {   
  12. public static void N() {   
  13. T.M();   
  14. }   

代碼是錯(cuò)誤的,不允許一個(gè)instance來(lái)call一個(gè)static method。如果你編譯的話,會(huì)提示:

 
 
 
  1. Error 2 'T' is a 'type parameter', 
    which is not valid in the given context 

為什么?從語(yǔ)言設(shè)計(jì)的角度來(lái)看,針對(duì)上面的代碼,下面的三種情況只能有一種為true。#t#

1. 本身就是錯(cuò)誤的寫(xiě)法

2. E.N() calls C.M() no matter what T is.

3. E.N() calls C.M() but E.N() calls D.M().

如果按照2設(shè)計(jì),會(huì)有用戶期望當(dāng)T是class D的時(shí)候,執(zhí)行class D的method M,而不是C。Static之所以是static,因?yàn)樗诰幾g時(shí)刻就可以被確切的determined,或者說(shuō),在靜態(tài)代碼分析階段,這個(gè)方法就可以被確定了。所以,如果按照3的方式來(lái)設(shè)計(jì),我們就違背了這個(gè)原則。這樣,只有1了。

另外的解釋:

1. virtual static,為什么沒(méi)這個(gè)東西?

2. 沒(méi)有this指針而已(以上內(nèi)容轉(zhuǎn)自同事的一個(gè)blog,做了簡(jiǎn)單的修改)

不過(guò),不清楚C++里面為什么允許這么做?

 
 
 
  1. public class Test{  
  2. public static void Say(){}  
  3. }  
  4. Test t;  
  5. Test* t2 = new Test();  
  6. t.Say();  
  7. t2->Say(); 

以上就是對(duì)C++ static的相關(guān)應(yīng)用方法。


文章名稱:C++static不同的應(yīng)用方式
網(wǎng)站網(wǎng)址:http://uogjgqi.cn/article/dpcsejc.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流