我一直在阅读关于全局变量为什么不好以及为什么不应该使用的文章。然而,大多数常用的编程语言都以某种方式支持全局变量。
所以我的问题是,为什么仍然需要全局变量?它们提供了一些无法替代的独特优势吗?与用户指定的自定义间接方法相比,全局寻址有何好处?
据我所知,在现代编程语言中,全局寻址的性能惩罚与从内存地址计算每个偏移量的性能惩罚相同,无论是从“全局”用户内存的开头还是从 this
或任何其他指针的偏移量。因此,就性能而言,用户可以使用常见的指针间接方法在必要时模拟全局变量,而不会失去实际全局变量的性能。那么除此之外呢?真的需要全局变量吗?