• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++ visualstudio グローバル変数)

C++のプログラミングに関する質問

このQ&Aのポイント
  • C++のプログラミングに関する質問です。visual studio2008を使用しています。
  • C++のプログラミングにおいて、複数のcppファイルでグローバル変数を共有する方法について教えてください。
  • A.cpp内の関数でカウントした値をZ.cppファイルで使いたい場合、どのようにすればよいですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

実体を定義せず、参照だけ定義する場合はexternを使用する。 A.cpp int count = 0; /*実体定義*/ extern char ch_value; /*参照定義*/ B.cpp extern int count; /*参照定義*/ char ch_value = '\0'; /*実体定義*/ C.cpp extern int count; /*参照定義*/ extern char ch_value; /*参照定義*/

hisyou24
質問者

お礼

早速の回答ありがとうございました。 非常に助かりました。

その他の回答 (1)

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.2

普通はA.hというファイルを作り、その中で extern int test ; を宣言しておく。 A.cppの中では int test ; を記述しておく。 test を使用したいファイルの初めの方で #include "A.h" を宣言しておくとそのファイル内で test を参照できるようになります。 なぜこうしておくかというと、 extern int test ; の int を long に変えたい時などにA.hファイルの中だけの修正すれば済むからです。 個々のファイルで extern int test ; を記述してあると全てのファイルを修正する必要が有ります。 なお、A.h を間違えて複数回 include すると不具合が生じる場合もあるので、不具合を避けるおまじないをしておきます。 A.h の中身の例として挙げておきます。 /* file = "A.h" */ #ifndef DEF_A_H #define DEF_A_H extern int test ; // グローバル変数 #endif

hisyou24
質問者

お礼

ヘッダファイルでexternを宣言して使う場合もあるんですね。 ご丁寧にありがとうございました。