static 函数
来源:互联网 发布:破解版java 游戏 编辑:程序博客网 时间:2024/05/17 07:14
今天看代码的时候看见如下形式:
以为返回的是一个static值,后来才知道原来是声明该函数是个static类型的函数,意义为该函数只能在本文件之内使用。后来又进一步看了一下static关键字的用法,现在自己总结一下,希望能对记忆有帮助。
static的用法有两种,分为面向过程的用法和面向对象的用法。上面我所遇到的问题即为面向过程的用法。
面向过程的static用法:
1.静态全局变量:静态全局变量存储在内存的全局数据区,其作用域仅仅为定义该变量的文件(因为这一条,其他文件可以定义相同名字的变量),它会被自动初始化为0;
2.静态局部变量:静态局部变量同样存储在内存的全局数据区,直到程序运行结束。它的作用域为定义该变量的函数。当函数结束的时候,变量的作用域随之结束,但是变量仍然在全局数据区。如果函数再次运行,仍能访问该变量。它仅仅在声明的时候被初始化,然后再不初始化。
3.静态函数:上面已经叙述。
面向对象的static用法:
1.静态数据成员:静态数据成员不属于任何一个对象,所有该类的对象共享该成员。静态数据成员存储在全局数据区,定义的要分配空间。所以不能在类的声明中定义,只能放在类的外面定义,但是可以在类的里面声明。静态数据成员同样遵循public,protect,private访问规则。
2.静态成员函数:静态成员函数和静态数据成员一样,不属于任何一个对象,属于类定义的一部分。普通函数都隐含了一个this指针,this指针指向对象本身。但是静态成员函数不含this指针,从这个意义上讲,静态成员函数不能访问属于对象的非静态数据成员,也不能访问非静态函数,它只能调用其他静态函数。但是非静态成员却能访问静态成员。静态成员函数没有this指针的额外开销,速度上稍微快一些。
- static变量; static函数
- static变量 static函数
- static 函数
- static函数
- static函数
- 函数,static
- static 函数
- static函数
- static函数(&)
- static修饰符:static变量,static函数
- Static 变量和Static函数
- static变量和static函数
- static 变量和static 函数
- C++ static变量 static函数
- static变量与static函数
- static变量、static函数、变量
- static变量与static函数
- static函数、static代码块
- 请问定制的标签-怎么输出单篇文章
- ipv4和tcp报头数据格式
- Python扩展和嵌入
- 简历.ppt
- SQL Server 2005远程连接
- static 函数
- netfilter与用户空间通信
- List类
- 项目开发过程中出现的错误一
- 项目开发过程中出现的错误二
- linux进程和线程
- 【原创】默认状态下,MyEclipse无法建立Hibernate(Add Hibernate Capabilities 不可用)
- [正则表达式]非常经典的正则表达式
- 算法之一:老掉牙的问题