可能重复:
static int a和int a有什么区别?
我试着用简单的英语简单解释一下.我试图阅读和研究它们之间的区别static int,int但是无论我读到什么,它似乎都让我更加困惑.假设我有一个类似下面的课程
class B{
static int i;
int i;
...
}
Run Code Online (Sandbox Code Playgroud)
这是你的比喻.
想象一下拥有银行账户的组织.就C++而言,该组织就是您的组织class.想象一下,组织有代表(工人,如果你想).就C++而言,它们是该类的实例(或变量).
现在,每个代表都可以拥有自己的银行账户,仅供他使用.没有其他人可以使用它.那将是正常的int.
但是,每个工作人员也可以使用由他们共享的组织的银行帐户,特别是不属于他们中的任何一个.那是你的static int.
现在,再次回到技术术语,万一你会想要它.我会尽量清晰简洁.
正常int:
类类型的每个变量都有自己的个人变量.因此,在您的示例中,如果您生成10个类型的变量,则B每个变量都将在其中包含自己的 int i变量.
static int:
静态变量是类的所有变量共享的.静态变量不属于任何类变量,它属于类本身.因此,如果你要创建10个类型的变量B,每个变量都可以访问static int i,但是没有一个变量拥有它(它是共享的).