第1个回答 2011-06-28
s_ m_ g_ 等前缀仅仅是我们的习惯的命名规则,与语法无关.
是为了方便我们在定义了变量以后使用的时候直观的区分这些变量.
C++不是完全面向对象的开发语言,同C语言一样,它有全局变量,这个变量不属于任何一个类.
这些全局变量,在你的程序任何地方都可以访问到这个变量
静态变量:声明变量的时候加static关键字,
其意义是指定在其中声明一个或多个局部变量的过程终止后,这些已声明的局部变量继续存在并保留其最新值。
void fun()
{ static int i = 0;
i++;
Console::WriteLine( i.ToSting()); // c++ for .net
}
void fun1()
{ fun(); // 这个时候,i == 1;
fun(); // i==2;
fun(); // i==3;
}
static 变量 static int i 只初始化为 0 一次。fun()执行完后,i仍然在存在内存中,每次调用 fun()运行的时候, i仍然保留上次的值
成员变量时一个类的组成部分,它的存在依赖于这个类,它的生命周期由类对象决定.