C++ 中全局函数和静态成员函数的一点小纠结
从Android到c++ 的萌新一枚,最近在做一个项目遇到一个小纠结。
有几个算法,传入参数,输出返回值。在java中,因为必须要类才能有方法调用,所以这种情况我们都是用静态成员函数的方法去实现。可是c++中,有全局函数这种概念。似乎就让静态成员函数的定义失去了意义。因为我们只要在.h文件中实现全局函数,在要使用的地方将头文件引入,就可以直接使用了。至于连接冲突的问题,用宏定义就可以解决了。
可是又考虑到c++是一种面向对象的语言,使用静态成员函数似乎更符合面相对象的思想。
这让我有点纠结,类似于加减乘除的这种函数,我们要定义成全局函数好还是静态成员函数好呢?
还有,在编程中,什么情况下用全局函数什么情况下用静态成员函数呢?
希望各位前辈能够分享一下经验,谢谢!