Разница между лямбда-выражениями C ++ 0x и operator (), замыканием и функтором

Я уверен, что понимаю общую суть конструкций, но я не вижу цели их в c ++. Я читал предыдущие сообщения по этой теме здесь, на SO, и в других местах, но я не понимаю, почему они должны быть новой функцией языка.

Я хотел бы получить ответ, таким образом,

  • В чем разница между лямбда и аргумент шаблона, принимающий функцию / функтор.

  • Является ли замыкание просто функтором с некоторым заданным состоянием объекта (областью действия?)?

  • Что такое «убийственное приложение» для этих конструкций? или, может быть, типичный вариант использования?
8
задан Captain Giraffe 10 January 2011 в 21:14
поделиться