C++ class的static变量
class的静态变量只会创建一次,所有的该类的对象都共用这个静态变量。这个和private和public不是可以对比的,public是内部的变量可以被外部访问,也就是说,可以使用"."或者"->"来直接修改。private只是说明只有自己内部能够访问和使用这个参数,所以private参数总是专门写一个set和print函数来间接的修改和输出变量。
如下代码,一个简单的测试,先声明A1和A2两个变量,然后给A1的参数赋值。观察擦结果可以看到其实A2的参数也发生了改变。这个就是static。
结果:没有对A2的变量赋值,但是static的变量是和A1公用的。A2.a和A1.a实质上是同一个变量。
static类型的变量在外头必须这样子赋值,否则编译不会通过。