ホームページ > バックエンド開発 > C++ > 複数のソース ファイルにわたるグローバル変数を適切に管理するにはどうすればよいですか?

複数のソース ファイルにわたるグローバル変数を適切に管理するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-09 08:41:06
オリジナル
266 人が閲覧しました

How to Properly Manage Global Variables Across Multiple Source Files?

複数のファイルにわたるグローバル変数の管理

概要

ソース ファイル間の共通変数へのアクセスはプログラム設計の重要な側面です。この記事では、複数のファイル内でグローバル変数を宣言してアクセスするための最適な方法を検討します。

ベスト プラクティス

複数のファイル間でアクセス可能なグローバル変数を宣言するには、次の手順を実行する必要があります。フォローする:

  1. ヘッダー ファイル宣言:両方のソース ファイルにインクルードされるヘッダー ファイルでグローバル変数を extern として宣言します。

    //common.h
    extern int global;
    ログイン後にコピー
  2. ソース ファイル定義: グローバル変数をいずれか 1 つのみで定義します。ソースファイル。変数を定義するファイルには、extern キーワードを含めることはできません。

    //source1.cpp
    #include "common.h"
    int global = 42;
    ログイン後にコピー

代替アプローチ

推奨されるアプローチは、 extern 宣言と 1 つの定義では、より簡単な代替メソッドがあります。望ましい:

  • 静的宣言: ヘッダー ファイル内でグローバル変数を静的として宣言すると、グローバル変数が各ソース ファイルの内部になり、共有アクセスが防止されます。
  • 両方のファイルでの直接定義: 両方のソース ファイルでグローバル変数を定義すると、変数の複数のインスタンスが作成され、次のような問題が発生する可能性があります。

実装例

次の例を考えてみましょう。

//source1.cpp
#include "common.h"
int function();
int main() {
  global = 42;
  function();
  return 0;
}

//source2.cpp
#include "common.h"
int function() {
  if (global == 42)
    return 42;
  return 0;
}
ログイン後にコピー

extern 宣言と単一の定義で、両方のソース ファイルがグローバル変数 global を効果的に共有できます。

以上が複数のソース ファイルにわたるグローバル変数を適切に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート