0

我有很多 Java 经验,但对 C++ 很陌生。

我需要一个方法,简单的例子是 set union,它可以使用参数 ofset<int>和 of set<bool>,但没有其他类型。

目前我已经重载了方法名,但它在方法体中重复了很多类似的代码。

有没有更好的办法?谢谢!

4

2 回答 2

2

您可以编写函数模板
但是,如果您执行类似的操作,而不管参数的类型如何,您都可以这样做。如果您对每种数据类型执行不同的操作,那么您将不得不专门化模板功能,这基本上会让您回到您的问题。

于 2012-06-26T10:30:03.513 回答
1
template <typename T>
void func(const std::set<T> &param)
{
  // your staff
}

//....

int main()
{
  std::set<int> int_set;
  std::set<bool> bool_set;

  func(int_set);
  func(bool_set);
}
于 2012-06-26T10:33:21.060 回答