я просматривал черновую версию стандарта C ++ 11 . В частности, раздел о лямбдах , и я не понимаю, почему не следует вводить полиморфные лямбды.
Например, среди 100001 способов использования полиморфных лямбд, Я надеялся, что мы сможем использовать следующий код:
template
void foo(Container c)
{
for_each(c.begin(), c.end(), [](T& t) { ++t; });
}
Каковы были причины:
Было ли это тем, что комитету не хватило времени?
Эти полиморфные лямбды слишком сложно реализовать?
Или, возможно, что они не нужны PTB ?
Примечание. Помните, что приведенный выше пример не единственный, и он предоставляется только в качестве руководства по типам кода. Ответы, которые сосредоточены исключительно на предоставлении обходного пути для вышеуказанного фрагмента кода, не будут считаться действительными!
Связанные источники: