0
この質問のバリエーションは以前にも同様に質問されている可能性があります。この質問は静的データメンバ対グローバル変数ではなく、静的変数とグローバル変数です。静的データメンバーとグローバル変数の差
私たちは皆、静的なデータメンバーとグローバル変数が何をするのか知っています。コンパイラがそれらをリンクする方法、メモリレイアウトにマップされる場所、デフォルト値など。私がそれらについて考えるとき、globa変数の代わりに静的データメンバを使うべきシナリオの明確なイメージはありません。
私はあなたのクラスのために作成されたオブジェクトの数をカウントしたい1ユースケースを考えました。 1つの静的データメンバーを作成し、新しいオブジェクトを作成するたびにctorを増やします。しかし、同じ考えで、同じことをして、作成されたオブジェクトを数え、グローバル変数もカウントすることができます。
だから、それはグローバル変数対静的データメンバを使用しての使用例は何であることを今まで私には明確ではないでしょうか?誰でも、光を当ててください。
「この質問は、グローバル変数対グローバル変数ではない静的変数対静的データメンバーについてです。」 - 何? – KonstantinL
独自の例では、他のコードはグローバル変数を変更して誤った結果を出す可能性があります。これは、構成の数が不正確になる可能性があることを意味します。適切にカプセル化された静的データメンバーには、その状態を制御するような問題はありません。 – user2296177
キーワード:名前空間とアクセス権。 – KonstantinL