码迷,mamicode.com
首页 > 编程语言 > 详细

GeekBand-secondweek-c++的static

时间:2016-05-22 19:55:16      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

部分资料整理来源于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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!