Download presentation
Presentation is loading. Please wait.
1
デフォルト引数 長谷川啓
2
型の概念とは異なる 以下はエラー よって以下の実装は間違い typedef void FUNC(int = 1);
void (*pf)(int = 2); ISO/IEC Default arguments 参照 よって以下の実装は間違い class default_arg_type : public type { const type* m_T; var* m_default_arg; // デフォルト引数 ... };
3
実装例 struct usr : var { enum flag_t { ..., HAS_DEFAULT_ARG, ... }; flag_t m_flag; }; map<usr*, vector<var*> > default_arg_table; 函数をキーにしてデフォルト引数を保持するテーブル usr* u = ... usr::flag_t flag = u->m_flag; if (flag & usr::HAS_DEFAULT_ARG) { p = default_arg_table.find(u); vecotr<var*>& v = p->second; ... }
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.