如问题

解决方案 »

  1.   

    全局变量的优点是使用方便。无须遵守那么多条条框框。 其缺点也是明显的,
    1。不能保证值的正确性;因为其作用域是全局,所以程序范围内都可以修改它的值,如果出现错误非常难以发现。
    2。如果在多线程中使用全局变量,你的程序很可能将会错的一塌糊涂。多线程会修改另一个线程使用的全局变量的值,如果不注意,一旦出错后果不堪设想。所以在这种情况下万不得意不要使用全局变量。
    3。如果在DLL中使用全局变量。DLL定义的全局变量可以被调用进程访问;DLL可以访问调用进程的全局数据。使用同一DLL的每一个进程都有自己的DLL全局变量实例。如果多个线程并发访问同一变量,则需要使用同步机制;对一个DLL的变量,如果希望每个使用DLL的线程都有自己的值,则应该使用线程局部存储(TLS,Thread Local Strorage)。总而研之,全局变量的使用不当,很可能让你的程序在对数据处理的时候,让你错的乱七八糟,尤其是在并发访问的时候。