关于static与const
来源:互联网 发布:魅族手机怎么关4g网络 编辑:程序博客网 时间:2024/05/29 10:09
static和const 的概念老是搞不清楚。。下面就从网上摘录下部分区别:
- 关于static
在c中,static 用于信息屏蔽,你希望该文件中的一些函数和变量只能被该文件中的函数使用,那么,你可以在该函数、变量的前面加上static,代表他们只能被当前文件中的函数使用!
在c++这种面向对象的语言中,上述功能就没有必要了。
-----------------------
C/C++通用的函数作用域的static型的变量!其目的,也是为了信息的屏蔽!
int fun() {
static int a = 1;
a++;
}
在第一次进入这个函数的时候,变量a被初始化为1!并接着自增1!
以后每次进入该函数,a就不会被再次初始化了,仅进行自增1的操作!作用同全局变量!!!
-----------------------
说说类中的static变量和函数。
class A {
public:
static int num; // 统计创建了多少个实例
A () {num++}; // 每创建一个实例,就让num自增1
// 返回通过构造函数所创建过的A类实例的数目
static int how_many_instance() {
return num;
}
}
static A::num = 0; // 需要在类申明的外部单独初始化!
int main() {
cout << A::how_many_instance() << endl;
A a, b, c, d;
cout << A::how_many_instance() << endl;
system("pause");
}
static函数是类所拥有的而非对象所拥有的,他屏蔽了this指针。这一点对于windows的回调机制非常有用。
调用static函数时只需要前面加上类作用域区分符就可以了, 调用普通成员函数就需要加上类对象实例指针。
- 关于const
const表示只读,const是一个C语言的关键字,它限定一个变量不允许被改变。
注意const int *p=string; 其中*p是只读不可变的,而p是可变的。p++是正确的
--------
tips: int *p=new int[len] //dynamic array initialization
- 关于static与const
- const static 与static const const static
- 关于const与static用法C
- static 与static const
- 关于Static和Const.
- 关于static const
- 关于static,const,static const , const static
- const static 与static const的使用
- const static 与static const的使用
- const 与 static
- static const与#define
- Static与Const
- static与const小结
- const,typedef与static
- static 与 const
- const与static原理
- static与const
- const 与 static
- JAVA集合的应用之——集合的遍历
- Android中不得不谈的setContentView
- Linux如何查看JDK的安装路径
- yii2 elasticsearch
- 软件Copyright中年份有什么意义?
- 关于static与const
- Android Activity的Launch Mode
- [从头学数学] 第264节 [计算几何] 点和线段
- 谈谈对Spring IOC的理解
- Qt之窗体任意拖拽两种方法
- iOS8中storyboard中autolayout和size class的使用
- 第四周 项目3 【单链表应用1】
- mysql 利用explain优化sql
- 火狐浏览器崩溃的问题