C中和C++中static的作用?
来源:互联网 发布:詹姆斯2016季后赛数据 编辑:程序博客网 时间:2024/05/16 04:17
一在C语言中,主要有三个作用:
1,在函数体内,具有记忆功能,在函数调用过程中维持值不变。
2,在模块内(但在函数体外),该变量只能被模块内的函数访问,不能被模块外的函数访问。如果一个函数被声明为静态的,则该函数只能在改模块内被其他函数调用,不能被块外的函数调用。
3,static全局变量和普通的全局变量区别在于static全局变量只初始化一次,目的是为了防止在其他文件中被引用。static局部变量和普通局部变量的区别在于static局部变量只被初始化一次,下一次的运算依据是上一次的结果值。
二 在C++中,类内数据成员的声明前加上static,该成员就为类内的静态数据成员,主要有以下特点:
a,对于非静态数据成员,每个类对象都有自己的复制品,而静态数据成员被当做是类的成员,无论这个类的对象被定义了多少,静态数据成员在程序中只有一份复制品,由该类型的所有对象共享。
b,静态数据成员存储在全局数据区,定义时要分配空间,在没有产生类的实例时,也可以使用它。
c,和普通数据成员一样遵从public,protected,private的访问限制。
d,使用静态数据成员的两个优势:1,没有进入程序的全局名字空间,不存在与其他全局名字冲突,2,可以实现信息隐藏,可以使private成员,而全局变量不能。
0 0
- C中和C++中static的作用?
- c中static的作用
- c中static的作用
- c 中static的作用
- C中static的作用
- C中static的作用
- c中static的作用
- C中static的作用
- c中static的作用
- c中static的作用
- C中static的作用
- c中static作用
- c中static作用
- c中static作用
- C的static作用
- static的作用(c)
- C/C++中Static的作用详述
- C/C++中Static的作用详述
- Java实现冒泡排序以及优化冒泡排序的一些小技巧
- Windows8.1驱动编写以及内核调试(一) 做好准备工作并编写第一个驱动程序
- 请问学习的方向在哪里
- SPOJ 1825 Free tour II 解题报告(树分治)
- NSDictionary一些常用用法
- C中和C++中static的作用?
- hdu1561 树形dp
- OpenCV Haar AdaBoost源码改进(比EMCV快6倍)
- argv是一个指针
- Python 中对文本框内容是否为非负整数的检判别
- 排序
- Linux下MySQL定时备分脚本
- 657 - The die is cast
- Struts2之自定义类型转换器