成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開(kāi)發(fā) 后端
C++ static在實(shí)際編程中的應(yīng)用與C語(yǔ)言相比有很多不同之處。我們今天將會(huì)針對(duì)這兩種不同的應(yīng)用做一個(gè)對(duì)比,方便大家理解。

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

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<T> 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ì)有用戶(hù)期望當(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了。

另外的解釋?zhuān)?/p>

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)用方法。

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-02-04 14:29:45

C++ typenam

2010-02-06 14:12:54

C++繼承方式

2010-02-06 17:39:52

C++ strtok

2010-02-05 16:46:58

C++ TinyXml

2010-02-04 15:41:10

C++內(nèi)存管理

2010-02-04 16:39:26

C++析構(gòu)函數(shù)

2010-02-02 14:27:54

C++ static關(guān)

2010-02-03 10:11:17

C++動(dòng)態(tài)數(shù)組

2011-04-07 16:34:05

staticC++

2010-02-04 13:39:44

C++數(shù)組參數(shù)

2010-02-06 16:39:45

C++ assert(

2010-02-06 16:21:35

C++常規(guī)DLL

2010-02-04 16:52:45

C++顯式轉(zhuǎn)換

2010-02-05 10:30:02

C++操作符重載

2010-02-05 14:36:20

C++智能指針

2010-01-18 16:42:13

C++類(lèi)

2010-02-03 16:29:19

C++ sizeof

2010-02-03 17:06:36

C++對(duì)象復(fù)制

2010-02-04 11:15:28

C++模板限制

2010-02-05 14:12:46

C++聲明放置
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 2018国产精品 | 国产一区视频在线 | 国产欧美精品一区二区色综合朱莉 | 久久成人18免费网站 | 欧美日韩成人在线 | 欧美一区二区另类 | 日韩三级 | 91精品国产一区二区三区 | 中文字字幕一区二区三区四区五区 | 欧美嘿咻 | 日韩中文字幕在线 | 精品国产一区二区三区免费 | 国产免费一区二区 | 亚洲国产欧美一区 | 天天爽夜夜操 | 偷偷操视频| 亚洲成av人片在线观看 | 国产精品视频在线播放 | 亚洲入口 | 日日夜夜天天 | 永久精品 | 日韩一级 | www久久久 | 久久久久久91 | 狠狠涩 | 浴室洗澡偷拍一区二区 | 精品国产乱码久久久久久中文 | 日本aa毛片a级毛片免费观看 | av一区二区三区在线观看 | 午夜在线 | 国产精品免费一区二区三区四区 | 免费观看成人性生生活片 | 国产91亚洲精品 | 久久午夜电影 | 久久一及片 | av一区在线 | 国产一区二区在线播放 | 欧美日韩成人网 | 欧美成人aaa级毛片在线视频 | 欧美黄 片免费观看 | 一级毛片视频 |