ФП, Boost и С++ головного мозга

Submitted by 0xd34df00d on Thu, 01/07/2010 - 04:49

Вот что ФП с мозгами делает:

  1. void Call (F f)
  2. {
  3. Q_FOREACH (QWidget *w, createdWidgets ())
  4. f (static_cast<QComboBox*> (w));
  5. }
  6.  
  7. Call (boost::bind (&QComboBox::setCurrentIndex, _1,
  8. boost::bind (std::minus<int> (),
  9. boost::bind (&QComboBox::count, _1),
  10. 1)));

Проходит по коллекции комбобоксов и для каждого комбобокса активирует самый последний для него в списке элемент. Кроме этого места Call юзается еще в куче подобных конструкций.

Олсо. C++ — одновременно говно и офигенен. Говно, ибо вместо «-» приходится юзать std::minus, а офигенен потому, что это можно сделать.