我有一个关于首选样式的问题:std :: bind与C ++ 0x中的lambda。我知道它们的用途有所不同,但让我们以交叉功能为例。
使用lambda:
uniform_int<> distribution(1, 6);
mt19937 engine;
// lambda style
auto dice = [&]() { return distribution(engine); };
使用bind:
uniform_int<> distribution(1, 6);
mt19937 engine;
// bind style
auto dice = bind(distribution, engine);
我们应该选择哪一个?为什么?与上述示例相比,假设情况更为复杂。即,一个相对于另一个的优点/缺点是什么?
侃侃尔雅
一只萌萌小番薯
相关分类