static关键字的用法(C++)
2015-08-17 15:59
225 查看
static关键字,语法上为固定和静态。static本身,意味着把该值(变量或函数)变为静态的和全局的。
被static修饰的变量,成为静态变量,可以被多次使用而不释放空间;static修饰的变量,同时只能被本地运用,不能被外部extern引用。
被static修饰的函数,只能被本地使用。某一类的static函数,属于该类。外部运用类中的static函数,必须加上类名才能调用该函数。
类中的static函数无法使用const修饰。有人说,static函数无this指针,const函数则有this指针,所以static函数无法被const修饰。我则认为,static函数本身从语法和语义上就和const不相容,两者不可同时存在。static意味着静态和本地化,const意味着类成员不可修改,两者从语法上是不相容的。
被static修饰的变量,成为静态变量,可以被多次使用而不释放空间;static修饰的变量,同时只能被本地运用,不能被外部extern引用。
被static修饰的函数,只能被本地使用。某一类的static函数,属于该类。外部运用类中的static函数,必须加上类名才能调用该函数。
类中的static函数无法使用const修饰。有人说,static函数无this指针,const函数则有this指针,所以static函数无法被const修饰。我则认为,static函数本身从语法和语义上就和const不相容,两者不可同时存在。static意味着静态和本地化,const意味着类成员不可修改,两者从语法上是不相容的。
相关文章推荐
- 01C语言的概述
- C++基本数据类型
- JAVA Socket编程和C++ Socket编程有什么不同
- [LeetCode] Sort List
- [C++]Single Number III单个数字3
- 漫话C++0x
- java 和 C++ Socket通信(java作为服务端server,C++作为客户端client,解决中文乱码问题GBK和UTF8)
- C语言字符串面试题目总结
- C++中数字与字符串之间的转换
- Java与C++Socket通讯注意事项
- C语言的冒泡排序和快速排序算法使用实例
- VC++弹出U盘
- java与C++之间进行SOCKET通讯要点简要解析
- 黑马程序员-[C语言] 第一篇:运算符、程序结构总结
- C语言求最小公倍数和最大公约数三种算法
- C++ STL学习
- [C++]Single Number 单个数字
- C语言中的左移与右移
- poj1979广搜c语言
- c++设计模式