我有很多 Java 经验,但对 C++ 很陌生。
我需要一个方法,简单的例子是 set union,它可以使用参数 ofset<int>
和 of set<bool>
,但没有其他类型。
目前我已经重载了方法名,但它在方法体中重复了很多类似的代码。
有没有更好的办法?谢谢!
我有很多 Java 经验,但对 C++ 很陌生。
我需要一个方法,简单的例子是 set union,它可以使用参数 ofset<int>
和 of set<bool>
,但没有其他类型。
目前我已经重载了方法名,但它在方法体中重复了很多类似的代码。
有没有更好的办法?谢谢!
您可以编写函数模板。
但是,如果您执行类似的操作,而不管参数的类型如何,您都可以这样做。如果您对每种数据类型执行不同的操作,那么您将不得不专门化模板功能,这基本上会让您回到您的问题。
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);
}