C++におけるグローバル変数の巧みな利用

2025-02-10

この記事では、C++におけるグローバル変数の効果的な使用方法を探ります。著者は、グローバル変数は本質的に悪いものではなく、適切な使用方法が重要であると主張しています。この記事では、グローバル変数の利点と欠点を提示し、4つのルールを概説しています。1.誤用を困難にすること。2.観測可能な状態を変更した後は元の値を復元すること。3.内部状態への参照やポインタを返さないこと。4.テストを困難にしないこと。コード例を通して、著者は正しい使用方法と潜在的な落とし穴を示し、マルチスレッド環境ではスレッドローカル変数を使用することを推奨しています。

続きを読む
開発

グローバル変数:思っているほど悪くない

2025-02-03

この記事では、シンプルなカウンタの例を用いて、グローバル変数を避けることが予期せぬバグにつながる可能性を示しています。著者は、問題はグローバル変数自体ではなく、データアクセスにおける隠れた性質「遠隔作用」にあると主張しています。様々な変数の種類が分析され、記事では、関数へのカプセル化や追加操作のみを許可する型を使用するなど、特定の状況でグローバル変数を適切に使用する手法を探っています。これにより「遠隔作用」による問題を回避できます。

続きを読む