【初心者歓迎】C/C++室 Ver.64【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0582デフォルトの名無しさん
2009/03/26(木) 12:45:35そうか、まあまずリンケージから理解するかと思って調べたらこんなの出てきたんだけど、
ほんとかどうかついでに教えてよ。
C 言語と C++ 言語では const キーワードを使うことで定数を宣言することができます。
例えば const int cardmax=13; のように使用できます。これが単一のモジュールだけで
使われるのならば問題がないのですが、複数のモジュールにわたって使われる場合、
C言語と C++ 言語では constのリンケージが違うので、注意が必要です。具体的には
C言語では外部リンケージをもち、C++ 言語では内部リンケージを持ちます。つまり
C 言語では他のモジュールから使用する場合、そのモジュール内で
extern const int cardmax;
と宣言すればこの定数は使用可能ですが、C++ 言語では同じようにしても参照する
ことはできません。C++ 言語で外部から const オブジェクトを参照したい場合には、
定数を定義するときに、
extern const int cardmax=13;
のように定義する必要があります。
■ このスレッドは過去ログ倉庫に格納されています