小编ryt*_*tis的帖子

boost::transform 与 std::transform

从下面的片段中,我std::transform是否应该得出结论,boost::transform因为前者比后者使用更少的初始化和析构函数,所以应该优先考虑可能更高效?

#include <algorithm>
#include <boost/range/algorithm.hpp>
class Ftor {
public:
    Ftor(const Ftor& rhs) : t(rhs.t)
    { std::cout << " Ftor : copy\n"; }
    Ftor(float rate) : t(rate)
    { std::cout << " Ftor : init\n"; }
    ~Ftor()
    { std::cout << "~Ftor : ...\n"; }
    float operator() (float x) { return x < t ? 0.0 : 1.0; }
private:
    float t;
};

typedef std::vector<float> vec_t;

int main (void) 
{
    vec_t arg(/*...*/);
    vec_t val(arg.size());
    float x = 1.0;
    /* …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm boost transform std

3
推荐指数
1
解决办法
1419
查看次数

标签 统计

algorithm ×1

boost ×1

c++ ×1

std ×1

transform ×1