「ユーティリティ」の方向にある機能を使用するたびに、どのオプションが最適かを考えてしまいます。たとえば、メッセージ構造体 (独自または外部)、エンコード/デコード コード、または作業中のコンテキストでのいくつかの便利な変換関数の出力などです。
私が考えるオプションは次のとおりです。
1) ヘルパー クラス/構造体の静的関数。
struct helper
{
static bool doSomething(...);
};
2) 非メンバー関数。
namespace helper
{
bool doSomething(...);
}
3) 静的非メンバー関数。
namespace helper
{
static bool doSomething(...);
}
場合によっては、「ユーティリティ」で状態を初期化または保持する必要がある場合があるため、オプション 1 を使用して「グローバル」状態を回避します。ただし、保持する必要がある状態がない場合は、オプション 2 または 3 を使用する必要がありますか? オプション 2 と 3 の実際的な違いは何ですか?
何を考慮することが重要で、これにアプローチするための好ましい方法はありますか? ありがとう!