我试图在何时使用成员函数(静态),以及何时在.cpp文件中添加一个帮助器方法时试一试。
假设在MyClass类中我想将TypeA转换为typeB。 这是一个漫长的过程,因此我将添加一个方法来处理转换。
该方法是纯函数式的,与MyClass实例的状态无关。 它获取输入并生成输出,而不使用MyClass的任何成员(私有或公共)。
只有MyClass会使用此方法。
现在我不确定如何定义此方法:
答案 0 :(得分:3)
如果正如您所说,“只有MyClass
将使用此方法”,那么它在逻辑上属于MyClass
作为静态成员函数。
答案 1 :(得分:3)
3.Help方法不是任何类的成员,只有cpp文件中的定义。
因此,如果需要,可以更改辅助方法的定义,而不必担心在将MyClass
的客户端设置为静态成员函数时重新编译它们。
修改强>
正如@πάνταῥεῖ所说,你可以将helper方法放在一个未命名的命名空间中,以限制它在MyClass
cpp文件(以及包括它的翻译单元)中的使用。