我一直在审查C++ 11标准的草案版本.特别是关于lambdas的部分,我对于不引入多态lambda的原因感到困惑.
例如,在100001种方式中可以使用多态lambda,我曾希望我们可以使用如下代码:
template<typename Container>
void foo(Container c)
{
for_each(c.begin(), c.end(), [](T& t) { ++t; });
}
Run Code Online (Sandbox Code Playgroud)
原因是什么:
是不是委员会没时间了?
多态lambda太难实现了吗?
或者也许他们认为PTB不需要它们?
注意:请记住上面的示例不是唯一的例子,它仅作为代码类型的指南提供.仅专注于为上述代码提供解决方法的答案将不被视为有效!
相关来源: