标签:
部分资料整理来源于think in c++
1、静态static
含义一:静态存储,即静态数据区分配内存,它比局部变量的生存周期要长的多;
含义二:连接属性为本地属性,即它默认是内连的,控制了名字的可见性,只在定义的块内可见;
默认内连:内连的属性非常好,非常符合封装控制可见性的要求,像static、const、内联函数,缺省情况下都是内部链接的,特别是const,c默认外部连接,c++默认内部连接,是有一些差别的
在连接属性上:extern和static是互反的,函数和全局变量默认extern即外联的,除非显性地声明为内连的
2、c++中的静态成员
静态成员变量的好处:像全局变量一样存储,名字又被隐藏在有限的范围内,也提供了一种某个类的多个对象的通信方式;
静态成员变量的内存分配于全局区,不同于普通的成员变量,当用sizeof()计算类的大小的时候,静态成员变量是不算在里面,静态成员变量并不属于某一个类对象,而是整个类,为所有对象共有,静态成员变量必须在类外初始化;类的静态成员的访问方式:可以通过作用域操作符,类的对象,引用,指向类对象的指针访问;当类的成员变量为const static类型的时候,可以在类体中定义,也可以在类体外定义;
因为静态成员不是任何对象的组成部分,所以静态成员函数不能被神明为const,const就是承诺不会修改函数所属对象。静态成员函数也不能被声明为虚函数;
要求:在类内声明,必须在类外定义,不允许内联定义;
GeekBand-secondweek-c++的static
标签:
原文地址:http://www.cnblogs.com/keepbeliefs/p/5517446.html