c++类中的static
来源:互联网 发布:飞行员 知乎 编辑:程序博客网 时间:2024/06/05 01:56
static属性:
同全局变量相比,使用静态数据成员有两个优势:
1.静态数据成员没有进入程序的全局名字空间,因此不存在与程序中其它全局名字冲突的可能性;
2.可以实现信息隐藏。静态数据成员可以是private成员,而全局变量不能;
static方法:
普通的成员函数一般都隐含了一个this指针,this指针指向类的对象本身,因为普通成员函数总是具体的属于某个类的具体对象的。通常情况下,this是缺省的。如函数fn()实际上是this->fn()。但是与普通函数相比,静态成员函数由于不是与任何的对象相联系,因此它不具有this指针。从这个意义上讲,它无法访问属于类对象的非静态数据成员,也无法访问非静态成员函数,它只能调用其余的静态成员函数。由于没有this指针的额外开销,因此静态成员函数与类的全局函数相比速度上会有少许的增长;
故总结static方法:
出现在类体外的函数定义不能指定关键字static;
静态成员之间可以相互访问,包括静态成员函数访问静态数据成员和访问静态成员函数;
非静态成员函数可以任意地访问静态成员函数和静态数据成员;
静态成员函数不能访问非静态成员函数和非静态数据成员;
类的对象或指向类对象的指针可以用成员访问操作符(.)和(->)调用静态成员函数,也可以直接使用如下格式:
<类名>::<静态成员函数名>(<参数表>)
调用类的静态成员函数。
- C++--类模板中的static关键字
- C语言中的static
- C/C++中的static
- c 语言中的static
- C语言中的Static
- C/C++中的Static
- C语言中的static
- C语言中的static
- C中的static、extern、#、##
- C/C++中的static
- c语言中的static
- C中的Static
- C/C++中的static
- c语言中的static
- C中的static函数
- C语言中的static
- C中的static
- C,C++中的static
- Java系统程序员修炼之道
- 全面理解Unity加载和内存管理
- 泛泰基于高通8660芯片的手机蓝牙驱动跟三星8660芯片的蓝牙驱动的对比
- ubuntu12.04安装搜狗输入法配置,安装packettracer字体设置,软件推荐
- linux 任务调度机制
- c++类中的static
- Javascript初识
- UE在Win7下添加右键菜单
- SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题
- 文件描述符
- 协变逆变
- eclipse Could not find *** .apk!
- gcc警告
- Assetbundle的原理