2005-03-26から1日間の記事一覧

マクロにおけるむき出しのコンマの問題

型名を受け取ることを想定する以下のようなマクロがあるとします. #define MACRO(TYPE) .....このようなマクロに対してテンプレート引数を伴った型名を指定すると問題が起きます. MACRO(std::vector<int, my_allocator<int> >)このマクロの呼び出しは第1引数を"std::vector >"とす</int,>…

Decayed Type

関数の仮引数として指定した型は規格(8.3.5/3)に従って一定の変更を受けます.例えば配列型はポインタ型に,関数型は関数へのポインタ型に読み替えられます.このような変更を受けた型は元の型のDecayed Typeと呼ばれます. Decayed Typeが出てくる文脈とし…