c++中的私有函数与静态函数

Private vs. Static functions in C++

本文关键字:函数 静态函数 c++      更新时间:2023-10-16

在类中使用private(可能也是static)函数是否有任何优势,用于在我的类中使用的实用函数,不需要访问实例的数据,而在实现类的.cpp文件中使用全局static函数?
对我来说,第一个听起来更清晰,但第二个更有意义,因为这些函数甚至不需要在.h文件中提到。

如果不需要,我不会将私有静态函数放在头文件中。它们只会污染头文件并增加更多的工作。

但是,当你在一个类中有一个模板方法/函数,并且想在其中使用该辅助函数时,可能需要私有静态函数。

使用私有静态函数而不是全局静态函数的另一个原因是它们可以访问私有类成员(变量、函数)。

如果给定的函数与您的class相关,那么您是对的。你应该让它们在你的class正文中成为private static

[注意:如果这些实用程序函数根本不相关,那么你可以考虑将它们包含在namespace或另一个Util类中,并将其保留在文件范围内]

让它们成为文件静态函数。如果它们与类没有任何关系,就不要放在那里。

如果私有函数不修改类成员,那么它与全局静态函数相比没有任何优势。课堂内外没有区别