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

2つの例のどちらも他の例よりも優れているわけではありません。それはスタイルの問題です。staticキーワードはより表現力豊かです。「この名前をエクスポートしないでください」と完全に説明しています。匿名の名前空間を使用することは、それほど表現力がありません。名前がエクスポートされないという事実は副作用であり、主要な機能ではありません。

于 2013-01-18T09:34:11.993 に答える
-3

クラスでプライベート(おそらく静的)メソッドを宣言することをお勧めします。

于 2013-01-18T09:17:50.487 に答える