精華區beta Programming 關於我們 聯絡資訊
==> 在 wankun.bbs@bbs.csie.nctu.edu.tw (..) 的文章中提到: > ※ 引述《rtyu.bbs@bbs.csie.ncu.edu.tw (rtyu)》之銘言: > > 看看還是蠻奇怪的... > > static void function() { ..} > > ^^^^^^^^^^^^ > > 這樣不是會變成多型 而且是static的傳回值? > > 高手都喜歡用很難的方式來coding.. 呵.. > 其實不會奇怪啊!... > 你只要將static當成是一個關鍵字獨立出來。 > void functio() 你應該會看的很習慣吧! > 並不一定函式簽名"最前面"都是return型別.. > 而且static函式在有些地方是非用不可喔...(不是高手才用) > e.g. C#裏的main就是static.. static在C裡, 有2種意思 1. 該變數在離開此function後, 不會消失 ==> static local variable 2. 該變數 or function, 只在這檔案中可以被使用 ==> static global variable,function 在C++裡, 有另外2種意思 3. 該變數在class裡是唯一的, 所有object會共用, 且在object產生前就存在, 可以在產生object初始化 ==> class內的static member variable 4. 該class function可以在沒產生object就使用, 但只能對class內 的static local variable做動作 ==> class內的static member function EX: class test { static int aaa; //3 public: static void abc(void) //4 { aaa=100; } }; int test::aaa=20; //initialize //==================== static void hello(void) //2 { static int count=0; //1 cout<<"count = "<<count++<<endl; } static int forver=2; //2 main() { hello(); test::abc(); //沒object就呼叫 hello(); } -- * Post by mingchieh from 61-228-61-247.dynamic.hinet.net * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>