什么是静态变量? static int和int之间有什么区别?
答案 0 :(得分:33)
static
关键字有四个不同的用途,其中只有两个密切相关:
静态数据成员和静态局部变量都可以成为隐藏的全局状态,应该小心使用。
现在哪两个密切相关?这不是两个阶级成员 - 关于全球国家的警告会让它消失。您可以将静态数据成员视为静态局部变量,其中所属的函数是该类的所有方法,而不是单个函数。
我发现很多related questions,但令人惊讶的是,没有重复。
答案 1 :(得分:4)
静态变量在数据段中初始化(在x86上;根据其他体系结构进行修改)而不是在堆栈上。它们持续到程序的生命中,而不是一旦它们超出范围就会蒸发。
答案 2 :(得分:3)
可以在没有实例的情况下引用静态成员。
请参阅此处的“静态成员”部分:http://www.cplusplus.com/doc/tutorial/classes2/