C++ ⇒ VBA 書いて覚えるための初心者自己中記事

C++ ⇒ VBA 勉強の履歴を付けるというかノート代わりに使ってます

C++ シノニム typedef 書いて覚えるための初心者自己中記事

シノニム (同義語)

 

処理を書くときに型を何にするか確定できていない場合に

typedef で設定した仮の名前を使い、最後にまとめて設定する事が出来る。

typedef int ValueType;
 
ValueType m_a, m_b; //今はint型
ValueType m_result; //今はint型

 

typedef double ValueType;
 
ValueType m_a, m_b; //今はdouble型
ValueType m_result; //今はdouble型

 

また、これの使い方は型名をわかりやすくする事にでも活用できる。

 ポインタや配列の同義語も作れる。

typedef int* IntPtr;
IntPtr p;//int型ポインタの誕生
 
typedef int IntArray[100];
IntArray array; //int型の100要素配列変数の誕生

 

 クラス内でも可能。

 

constでは * がなければひたすら右にconstがかかる。

typedefで作った同義語では、その先に指定された方があるけれどもconst の目の前にある文字には型の表示がないからスルー。 

typedef int* IntPtr;
 
int n = 0;
const IntPtr p = &n; //どちらも p にしかconst はかからない
IntPtr const p = &n; //どちらも p にしかconst はかからない

 こうしたりすれば良い

typedef const int* IntPtr; //こっちでconst
 
int n = 0;
IntPtr p = &n;

 ここまで