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