我试图了解此功能并将其转换为ctypes:
15 XDisplay* GetXDisplay() {
16 static XDisplay* display = NULL;
17 if (!display)
18 display = OpenNewXDisplay();
19 return display;
20 }
我们在这里看到if(!display)
那么做display = OpenNewXDisplay();
,但什么混淆我是在它上面的线是这家伙定义display
为NULL
(static XDisplay* display = NULL;
),所以为什么地球上需要的,如果,如果他只是将其设置为空?显示是否以某种方式成为全局变量?
如前所述,显示是一个静态变量。
该静态存储类指示编译器在程序而不是创建和每次进入和进入的范围之时摧毁它的寿命时间内保持一个局部变量存在。因此,将局部变量设为静态可以使它们在函数调用之间保持其值。
来源:http://www.tutorialspoint.com/cprogramming/c_storage_classes.htm
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句