メンバ変数static
を返すメンバ関数もstatic
である必要がありますか?例えば静的変数を返すメンバ関数
:
struct T {
static int i;
static int getNumber() {
return i;
}
};
getNumber
static
すべきかどうかを判断しますか?
メンバ変数static
を返すメンバ関数もstatic
である必要がありますか?例えば静的変数を返すメンバ関数
:
struct T {
static int i;
static int getNumber() {
return i;
}
};
getNumber
static
すべきかどうかを判断しますか?
通常、はいです。
変数がインスタンスごとの状態を持たない場合、関数がそれを返す前に実行する可能性のあるインスタンスごとのロジックはどれですか?
これは必須ではありません。静的変数を返すメンバ関数を書くことができます。あなたは別の方法で行くことはできません(インスタンス変数を返す静的関数を書く)。
静的メンバーを返す場合の例として、クラスが状態変数を保持し、状態に基づいて静的値のいずれかを返す状況を想像してください。これは良いデザインではありませんが、それは完全に想像できないものではありません。
@Ben、私はコメントをしたときに何か考えていました(インスタンスの数を追跡する冗談な方法)...とにかく - 落ち着いたコメント... – Nim
@ニム:私は誰かがそれのような何かをもたらすかもしれないかと思っていた。あなたは怒っていません。しかし、単純なゲッターでこれをやりたいと思うことはまずありません。 –