C++中的static
来源:互联网 发布:淘宝一键复制 编辑:程序博客网 时间:2024/04/29 16:18
C++中static的用法:
static数据成员:1、静态数据成员没有进入程序的全局名字空间,而是定义在静态内存区,因此不存在程序中与其他全局名字冲突问题。
2、使用静态数据成员可以隐藏信息(在C语言中,C语言中可以讲一个数据成员定义为static,此数据成员只能在本文件中调用),
在C++中static不受private、protected和public的限制,可以再任何地方进行声明,但private。protected和public对其仍有限制(private定义的不能
在类外访问)。
3、static数据成员必须在类定义时初始化,并且必须要单独定义,或者调用静态构造函数来定义并且无论定义多少个类的对象static只初始化一次,
访问static数据成员必须使用类的作用域运算符来访问。
static成员函数:
1、无论是静态数据成员还是静态函数,定义时不能是内联的,并且只能定义一次,所以它通常放到一个类的实现文件中。
2、静态数据成员可以出现在嵌套类中(类中定义的类),但在局部类(函数中定义的类)中不能出现静态数据成员。
3、静态成员函数不能访问一般的数据成员,而只能访问静态数据成员,也只能调用其他的静态成员函数。通常当前对象的地址(this)是被隐式传递到被
调用的函数的。但一个静态成员函数没有this,所以它无法访问一般成员。这使得静态成员函数在速度上有比全局函数有少许的增长。
static数据成员:1、静态数据成员没有进入程序的全局名字空间,而是定义在静态内存区,因此不存在程序中与其他全局名字冲突问题。
2、使用静态数据成员可以隐藏信息(在C语言中,C语言中可以讲一个数据成员定义为static,此数据成员只能在本文件中调用),
在C++中static不受private、protected和public的限制,可以再任何地方进行声明,但private。protected和public对其仍有限制(private定义的不能
在类外访问)。
3、static数据成员必须在类定义时初始化,并且必须要单独定义,或者调用静态构造函数来定义并且无论定义多少个类的对象static只初始化一次,
访问static数据成员必须使用类的作用域运算符来访问。
static成员函数:
1、无论是静态数据成员还是静态函数,定义时不能是内联的,并且只能定义一次,所以它通常放到一个类的实现文件中。
2、静态数据成员可以出现在嵌套类中(类中定义的类),但在局部类(函数中定义的类)中不能出现静态数据成员。
3、静态成员函数不能访问一般的数据成员,而只能访问静态数据成员,也只能调用其他的静态成员函数。通常当前对象的地址(this)是被隐式传递到被
调用的函数的。但一个静态成员函数没有this,所以它无法访问一般成员。这使得静态成员函数在速度上有比全局函数有少许的增长。
0 0
- 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
- C 语言中的static
- Impala入门笔记
- 博文
- How long does it take to become proficient in Java as you are new in programing
- RMAN 备份异机恢复 并创建新DBID
- FZU 2144(几何+贪心区间覆盖)
- C++中的static
- JS 对象(Object)和字符串(String)互转
- 求真务实与翻新项目
- InstallAnywhere
- java密码学架构指南(一)
- cocos2d-x 3.x的GLProgramState剖析
- [ACM] POJ 2796 Feel Good (求序列中子序列的和与子序列中的最小数最大乘积)
- vi 删除多行
- 利用jquery each 实现多级分类下拉框显示