说我有一个类,在头文件如下:C++静态函数:放在课堂的内部还是外部?
class A {
public:
void foo();
}
foo
需要调用名为bar
又一个“助手”功能,该功能。除foo
以外,其他地方都不需要酒吧。
(源文件)
static void bar() { ... }
void A::foo() {
bar(); ...
}
或类中:它应该被的A
范围之外静态定义?不需要
(头)
class A {
public:
void foo();
private:
void bar();
}
(烃源)
void A::bar() { ... }
void A::foo() {
bar(); ...
}
越隐藏越好。我同意“静态非类”选项是最隐藏的选项(除了A类本身的编译单元)。 IMO唯一的例外是该函数访问类A的静态成员,在这种情况下,它将成为A的静态私有类成员的候选人。 –
谢谢,这与我所寻找的最接近。 –