C/C++语言 static关键字的用法
来源:互联网 发布:切糕王子 知乎 编辑:程序博客网 时间:2024/05/19 23:24
C/C++中static关键字可以从以下三个方面理解
1,static 修饰变量的存储区特性
static int a;
本质意义为static修饰的变量被分配在静态存储区,不是在栈上,也不是在堆上。
所以有以下应用场景。
1,C语言中,会在初次运行的时候进行初始化,整个程序运行期间都不释放。
如果变量为C++ 类对象,则在main()之前执行构造函数,进行初始化。
2,由于存储区不是在栈上,所以函数中用static修饰的局部变量就有“记忆性”。
也就是指在两次函数调用时, 在第二次调用进入时, 能保持第一次调用退出时的值.
2 ,static修饰函数/变量的作用域特性
//file1.c
static int a;
static void foo();
用static修饰的函数或者变量,只能在定义它的文件内被使用。
这样不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名。
3 ,C++的引申扩展含义
C++重用了这个关键字,并赋予它与前面不同的第三种含义:表示属于一个类而不是属于此类的任何特定对象的变量和函数.
与普通成员函数的最大区别, 是static修饰的变量/函数在此类中的唯一性.
这也是”属于一个类而不是属于此类的任何特定对象的变量和函数”。
例如:
class myclass
{
public:
static int getNumber() {return mNum};
private:
static in mNum;
};
myClass A, B;
则A,B 中只有一份nNum,它既不属于A,也不属于B。
0 0
- C语言关键字static的用法
- C/C++语言 static关键字的用法
- static 关键字的用法(c语言)
- C语言static关键字的用法
- C++的static关键字/包含C语言的static用法
- C语言的static关键字
- C语言的static关键字
- C语言中static关键字用法小结
- C语言中static关键字的常见用法及举例
- C语言中关键字const、static、volatile的用法分析
- c语言关键字static
- c语言static关键字
- C语言关键字static
- C语言static关键字
- 关键字static(c语言)
- C语言-关键字static
- c语言关键字--static
- C语言 static 关键字
- ibatis学习笔记-模糊查询实体对象
- linux函数之atoi
- IP地址相关知识
- HTML中获取本地时间
- PHP中递归函数的一个常见逻辑问题
- C/C++语言 static关键字的用法
- 编程之美之队列中取最大值操作
- java读取xls
- 八卦与ASCII码
- 编程之美之求二叉树中节点的最大距离
- C++高精度模板
- 关于KeyPress事件只能输入数字小数的问题
- 字符串类型的数字从小到大排序方法
- android--内存泄漏的原因及相关分析