- 289 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 14:53:13 ]
- ↓ですが、@がAとして認識されるということですが、
私はAがどういう場合に使われるのかがわかりません。 externで定義ってどういうことでしょうか? 大きな非互換項目の一つにconst型修飾子の取り扱いの違いがある。 C言語では記憶域クラス指定子を持たず、const型修飾されたファイル 有効範囲の識別子は、外部結合の識別子として取り扱われる。 一方、C++言語では内部結合の識別子として取り扱われる。 つまりC言語ではexternが補完されるのに対し、C++言語ではstaticが 補完されると考えればわかりやすい。多くのプログラマは、C言語での プログラミングにおいて、extern型修飾子は、変数の外部参照宣言を行 なう時にのみ使用し、変数の定義においては使用していない。 この問題は、const型修飾子を使用している多くのプログラムで発生する と予想される。 const int a=10; @ (C言語で認識される型) extern const int a=10; A (C++言語で認識される型) static const int a=10; B
|

|