デフォルトコンストラクタで分からないことがあります。
デフォルトコンストラクタ
デフォルトコンストラクタで分からないことがあります。
以下のコードです。
> template<class T1, class T2>
> struct pair
> {
> T1 first; // 1つ目の値
> T2 second; // 2つ目の値
>
> // デフォルトコンストラクタ
> pair() : first( T1() ), second( T2() ){}
>
> // 引数付きコンストラクタ
> pair(const T1& a, const T2& b) : first( a ), second( b ){}
> };
このコードの中の
pair() : first( T1() ), second( T2() ){}
で初期化子による初期化をしていると思うのですが「T1()」と「T2()」は具体的に
何をしているのでしょうか?自分の想像ではfirstとsecondに何か初期化の値を代入して初期化していると思うのですが何でしょうか?
なお、その次のコードの意味は分かります。
> pair(const T1& a, const T2& b) : first( a ), second( b ){}
これは、引数a,bを持っていてそれぞれfirstにaを代入してsecondにbを代入して初期化しているのですよね。
なお、このコードが掲載されているサイトはここです。
http://www.geocities.jp/ky_webid/cpp/library/011.html