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;
ここまで