全局函数声明和静态函数声明

在C++中我们可以说全局变量的声明在头文件以下面这种格式声明

extern LPDIRECTINPUT8       lpdi;  

但是类的静态变量的声明时在类的声明花括号中 这也是为什么c++不能再类花括号里给静态字段/成员变量赋默认值的关系

 

那么静态全局变量呢,这个有意思了,它的作用域是在一个文件里的,因此别的文件其实也用不到它的声明,

因此它不需要声明,声明了 也是空声明,但局部静态变量是在函数内的,函数的声明周期是整个 程序,这也是为什么局部静态变量的作用域是整个程序/所有文件,因为别的文件可以调用另一文件的函数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将类成员函数声明静态函数有以下好处和坏处: 好处: 1. 独立于类的实例:静态函数不依赖于类的实例,因此可以在没有创建类对象的情况下直接调用。这使得静态函数可以作为工具函数或全局函数使用,而不需要通过类的实例来调用。 2. 共享数据:静态函数可以访问和修改静态成员变量,这些变量在所有类的对象之间是共享的。这可以用于在类的所有实例之间共享某些状态或数据。 3. 可以直接访问私有成员:静态函数可以直接访问类中的静态成员变量和静态成员函数,无需通过对象或指针来访问。 坏处: 1. 无法访问非静态成员:静态函数只能访问静态成员变量和静态成员函数,无法直接访问非静态(实例级别)的成员变量和成员函数。如果需要访问非静态成员,需要通过类的实例或指针来调用非静态函数。 2. 无法使用虚函数机制:静态函数无法声明为虚函数,因此无法利用多态性来在运行时根据对象类型动态调用相应的函数。如果需要实现多态性,必须使用非静态的虚函数。 3. 与类的实例解耦:静态函数在设计上与类的实例解耦,这意味着它们无法访问非静态成员变量和成员函数,以及无法访问实例特定的上下文。这可能会导致一些设计上的限制和不便。 总结: 将类成员函数声明静态函数在某些场景下是非常有用的,比如工具函数、全局函数或需要共享数据的情况。但是,需要注意静态函数无法访问非静态成员和虚函数机制的限制。因此,在设计中需要根据具体的需求来决定是否将成员函数声明静态函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值