【发布时间】:2013-01-18 09:13:22
【问题描述】:
仍然值得在 C++ 中使用静态函数作为助手吗?
示例: 在文件.cpp中
static void helperFunc() { do something }
// class implementation
// ...
// some public method, not static
void myClass::doSomething() { helperFunc(); }
这样我就不必在类的声明中声明私有方法了。
或者最好使用未命名的命名空间并写入(在与上述相同的文件中)?
namespace {
void helperFunc() { }
}
什么更好?
【问题讨论】:
-
myClass::doSomething()也是静态的吗? -
为什么不想声明私有方法?
-
helperFunc 经常会改变,当它在头文件中(作为私有方法)时,它涉及整个项目的重建。将其作为静态函数更“本地化”且更易于更改
-
关于使用静态命名空间和匿名命名空间的区别,请查看stackoverflow.com/questions/154469/…
标签: c++