2016-08-14 61 views
1

在函数式语言,如果你有S,一组其元素的类型为T,并且f,功能: T -> U,你可以写map f S一个函数(或某些特定语言的版本)创建一组U s。“映射”在一组以创建另一个设置

是否有可能使用for_each或其他一些STL构造在C++ 11中实现类似的功能?

+0

你在做什么基本上是[转换](http://en.cppreference.com/w/cpp/algorithm/transform)一套到另一套。 –

回答

3
std::set<U> SetOfUs; 
std::transform(S.begin(), S.end(), std::inserter(SetOfUs, SetOfUs.begin()), f); 
+0

能够在功能上编写它会很好,尤其是将设置为const而不是修改它... – Mohan

+0

编写一个在其实现中执行此操作的函数,然后通过值返回'SetOfUs'。 –

+0

我正在检查我是否错过了一些标准库fn,它看起来像答案是'不'。 – Mohan

相关问题