C++中的static修饰的变量和函数
作者:网络转载 发布时间:[ 2014/10/21 11:23:39 ] 推荐标签:软件开发 C++
C++里的静态成员函数(不能用const的原因+static在c++中的第五种含义)
----自 core c++
static在c++中的第五种含义:用static修饰不访问非静态数据成员的类成员函数。这意味着一个静态成员函数只能访问它的参数、类的静态数据成员和全局变量。
不能用const的原因:一个静态成员函数访问的值是其参数、静态数据成员和全局变量,而这些数据都不是对象状态的一部分。而对成员函数中使用关键字const是表明:函数不会修改该函数访问的目标对象的数据成员。既然一个静态成员函数根本不访问非静态数据成员,那么没必要使用const了。
什么时候使用静态数据成员和静态函数呢?
定义数据成员为静态变量,以表明此全局数据逻辑上属于该类。
定义成员函数为静态函数,以表明此全局函数逻辑上属于该类,而且该函数只对静态数据、全局数据或者参数进行操作,而不对非静态数据成员进行操作。
static的第一种含义:修饰全局变量时,表明一个全局变量只对定义在同一文件中的函数可见。
static的第二种含义:修饰局部变量时,表明该变量的值不会因为函数终止而丢失。
static的第三种含义:修饰函数时,表明该函数只在同一文件中调用。
static的第四种含义:修饰类的数据成员,表明对该类所有对象这个数据成员都只有一个实例。即该实例归 所有对象共有。
static的第五种含义:修饰类成员函数,如上。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11