我有很多Java经验,但对C ++来说是新手。
我需要一个方法,简单的例子是set union,它将使用set<int>
和set<bool>
的参数,但没有其他类型。
目前我已经重载了方法名称,但它在方法体中重复了很多类似的代码。
有更好的方法吗?谢谢!
答案 0 :(得分:2)
您可以写一个 Function Template 但是,如果您执行类似的操作,无论参数类型如何,您都可以这样做。如果您对每种数据类型执行不同的操作,那么您将需要专门化模板功能,这基本上可以帮助您解决问题。
答案 1 :(得分:1)
template <typename T>
void func(const std::set<T> ¶m)
{
// your staff
}
//....
int main()
{
std::set<int> int_set;
std::set<bool> bool_set;
func(int_set);
func(bool_set);
}