[1025] Re:externについて
投稿者:774RR
2007/08/21 08:37:50
>「別のところにあるのを宣言する」ってのはexternの本質を表していないのですね。
こういう疑問が出てくるということは、言語規格書を読んでみていいレベルということだ
初心者向け解説書は厳密さよりもわかりやすさを優先せざるを得ないので
びみょーに不正確だったりすることがある
extern の意味するところは[1020]で書いたとおり、結合指定
C なら JIS X 3010:2003 6.2.2
C++ なら JIS X 3014:2003 3.5
厳密なところは自分で JIS 言語規格書を参照してもらうとして、簡単に言うなら
extern:外部結合を指定、static:内部結合を指定
外部結合=その名前が表す実体は、他の翻訳単位または同じ翻訳単位で使うことができる
内部結合=その名前が示す実体は、同じ翻訳単位で使うことができる
ということだ。