Re: [問題] uses of the keyword static

作者: loveflames (咕啾咕啾魔法陣)   2016-05-08 15:30:55
static的用法
1.修飾函數內部的變數
生命期跟global變數一樣,因為不是放在stack
2.修飾函數或函數外部的變數
放在cpp(原文說的module)裡面則其他cpp檔看不到它們,放在header則各自獨立
3.修飾class member
表示這是類別的成員,而不是"物件"的成員
class body裡面的static data僅代表宣告,所以要在class body外定義一次
作者: bjk (Up2u)   2016-05-08 15:41:00
懂了2在講這個 https://goo.gl/Rhjy5Aˇ3QQ
作者: uranusjr (←這人是超級笨蛋)   2016-05-08 18:05:00
原文明明是在講 C, 不是 C++ 吧
作者: tomnelson   2016-05-08 18:28:00
樓上點破了,上篇內文有"Static has three distinct uses in C" 這句所以原文只是討論C的部份,並沒有討論到C++的.
作者: loveflames (咕啾咕啾魔法陣)   2016-05-08 18:33:00
C只是少了第3點,前面2點一樣第2點換成C,只是把cpp檔改成c檔,其原理還是相通
作者: tomnelson   2016-05-08 19:11:00
是呀,就是第三點不通XD
作者: VictorTom (鬼翼&娃娃魚)   2016-05-08 23:44:00
B/C都是在說file scope不是嗎? 只在該.c可見的global.類似回文解釋的#2, 只是這次作用在function上....@_@"啊, 1F推文其實就講了static function....Orz

Links booklink

Contact Us: admin [ a t ] ucptt.com