C言語でおなじみヘッダーファイルについてですが、
複数のcppファイルをまとめる為に用いられる便利な
ものですよね。ところが落とし穴も少々あることを知りました。
基本中の基本ですが、実は某有名なC++の教本にはヘッダー
ファイルについて全く触れられていないのです。ヘッダーファイル
はとても便利で大規模な開発には欠かせない物なのです。
主に関数のプロトタイプ宣言や構造体などをあらかじめ書いて置き
格cppソースにこのヘッダーをインクルードすることでコードの整理
性を上げることが可能ですが、ヘッダー内で変数を宣言することは
NGだそうです。
格cppソースにそのヘッダーをインクルードした場合、何度も同じ
変数を宣言していることになってしまうのです。
同じ変数の宣言は1度のみなのです。
この問題を回避するには宣言する変数の前に"exturn"命令をつけます。
このexturn命令とは、「この変数がどこかにあるよ」とコンピューターに
教えることが出来る命令です。つまり、結局ヘッダーで変数の代入は
出来ないということになります。もちろんexturnをつけた場合、
cppソースないに実体の変数を宣言する必要があります。
やはりC言語というものは便利であり難しいものですね。
WinAPIを勉強していると、ヘッダーを使いたくなる場面が出てくるのです。
複数のcppファイルをまとめる為に用いられる便利な
ものですよね。ところが落とし穴も少々あることを知りました。
基本中の基本ですが、実は某有名なC++の教本にはヘッダー
ファイルについて全く触れられていないのです。ヘッダーファイル
はとても便利で大規模な開発には欠かせない物なのです。
主に関数のプロトタイプ宣言や構造体などをあらかじめ書いて置き
格cppソースにこのヘッダーをインクルードすることでコードの整理
性を上げることが可能ですが、ヘッダー内で変数を宣言することは
NGだそうです。
格cppソースにそのヘッダーをインクルードした場合、何度も同じ
変数を宣言していることになってしまうのです。
同じ変数の宣言は1度のみなのです。
この問題を回避するには宣言する変数の前に"exturn"命令をつけます。
このexturn命令とは、「この変数がどこかにあるよ」とコンピューターに
教えることが出来る命令です。つまり、結局ヘッダーで変数の代入は
出来ないということになります。もちろんexturnをつけた場合、
cppソースないに実体の変数を宣言する必要があります。
やはりC言語というものは便利であり難しいものですね。
WinAPIを勉強していると、ヘッダーを使いたくなる場面が出てくるのです。
PR
コメント