2

在 C++ 中使用静态函数作为助手仍然值得吗?

示例:在 file.cpp 中

static void helperFunc() { do something }

// class implementation
// ...

// some public method, not static
void myClass::doSomething() { helperFunc(); }

这样我就不必在类的声明中声明私有方法。

或者最好使用未命名的命名空间并写入(在与上面相同的文件中)?

namespace {
    void helperFunc() { }
}

什么是更好的?

4

2 回答 2

2

你的两个例子都不比另一个好。这是风格问题。static关键字更具表现力。它直接说明“不要导出此名称”。使用匿名命名空间并不那么富有表现力。名称不会被导出的事实是副作用,而不是主要功能。

于 2013-01-18T09:34:11.993 回答
-3

最好在类中声明一个私有(可能是静态的)方法。

于 2013-01-18T09:17:50.487 回答