龍神録プログラミングの館第5章について
Posted: 2010年3月04日(木) 01:19
はじめまして。昨日よりここのお世話になっております。
タイトルにもあります第5章についてわからない点があります。
#ifdefを使うことによってGLOBAL_INSTANCEが定義されている場合(main.cpp)はGLOBALを空白に、
定義されていない場合(他.cpp)はGLOBALをexternにしてグローバル変数をうまく取り扱うというのは理解できたのですが、
同時に関数の宣言の場合は逆にmain.cppではexternをつけて宣言しないといけないし、
他.cppでは宣言いらないしで、上の#ifdefの文にあわない気がして納得が出来ません。
どういう仕組みになっているのか、もしよろしければご教授お願いいたします。
タイトルにもあります第5章についてわからない点があります。
#ifdefを使うことによってGLOBAL_INSTANCEが定義されている場合(main.cpp)はGLOBALを空白に、
定義されていない場合(他.cpp)はGLOBALをexternにしてグローバル変数をうまく取り扱うというのは理解できたのですが、
同時に関数の宣言の場合は逆にmain.cppではexternをつけて宣言しないといけないし、
他.cppでは宣言いらないしで、上の#ifdefの文にあわない気がして納得が出来ません。
どういう仕組みになっているのか、もしよろしければご教授お願いいたします。