Скажет, у меня есть Шаблонные функции, которая принимает moneypunct
:Является ли объектом денежных средств International?
template <typename T>
void foo(const T& bar);
я могу использовать typename T:char_type
для определения первого moneypunct
аргумента шаблона Но как я могу определить (правильно ли я иметь дело с moneypunct<char>
или moneypunct<wchar_t>
.) (? moneypunct<char, true>
или moneypunct<char, false>
) ли второй аргумент шаблона является true
или false
это единственный способ сделать это, чтобы перестроить свою функцию:
template <typename CharT, typename International = false>
void foo(const moneypunct<CharT, International>& bar);