C/C++ const
492 ワード
C
cのcosntはすべて読み取り専用変数です.ただし、ポインタで値を変更できます.
C++
c++のconstは定数です.
内蔵タイプのconst
組み込みタイプの場合.直接置き換えます.たとえば
pを変更するとiの値は変更されますが、
クラスタイプと構造体
Cと同じ欠点があり、ポインタで値を変えることができます.コンパイラは正しく置き換えることができません.
C++に対しては,cのconstとdefineの合体といえる.
cのcosntはすべて読み取り専用変数です.ただし、ポインタで値を変更できます.
const int i=10;
int *p=(int *)(&i);
p
の値を変更すると、iの値も変更されます.C++
c++のconstは定数です.
内蔵タイプのconst
組み込みタイプの場合.直接置き換えます.たとえば
const int i=10;
int *p=(int *)(&i);
pを変更するとiの値は変更されますが、
i
に使用される他の場所はコンパイル時に置き換えられています.#define
に相当します.クラスタイプと構造体
Cと同じ欠点があり、ポインタで値を変えることができます.コンパイラは正しく置き換えることができません.
C++に対しては,cのconstとdefineの合体といえる.