0xd34df00d 21.12.2011 19:20 Azoth_primary

Лямбды без вывода типов правда говно:
std::for_each (data→contactList.begin (), data→contactList.end (), [&allContacts] (const std::pair<std::string, MSN::Buddy*>& pair) { allContacts [pair.first] = pair.second→lists & (MSN::LST_AB | MSN::LST_AL | MSN::LST_BL); });
Ну и как там std::pair вывести бы самим?

1. rman 21.12.2011 19:21 Psi+

кот мозголомный

2. 0xd34df00drman /1 21.12.2011 19:21 Azoth_primary

Чем?

3. rman0xd34df00d /2 21.12.2011 19:22 Psi+

табуляции 0, нихуя не ясно, ну впринцепе и не должно было бы

4. DZhonrman /1 21.12.2011 19:22

обычный кот

5. DZhon0xd34df00d /2 21.12.2011 19:23

да никак, auto используется для инициализации, а decltype для вывода по применению выражения, параметры сосут, ага

6. 0xd34df00drman /3 21.12.2011 19:23 Azoth_primary

Мне лениво копировать сюда так, чтобы пстощ не поел говна^W табуляцию. Так-то оно так:

7. 0xd34df00dDZhon /5 21.12.2011 19:23 Azoth_primary

Покажи мне функцию нуля аргументов у мапа, возвращающую value_type, или как там.

8. DZhon0xd34df00d /7 21.12.2011 19:24

што ?

9. 0xd34df00dDZhon /8 21.12.2011 19:24 Azoth_primary

Как ты тут деклтайпом заменишь тип аргумента лямбды?

10. rman0xd34df00d /6 21.12.2011 19:24 Psi+

а так няшно, даже очень.

11. DZhon0xd34df00d /9 21.12.2011 19:25

>>да никак

Разве я не дал этот ответ ? о_О

12. Cthulhu 21.12.2011 19:32 Miranda

Переходи уже на версию gcc с поддержкой range-based for, он органично напрашивается в этом месте. Иначе тебе придется плакать в пстач после каждого такого применения лямбды.

13. 0xd34df00dCthulhu /12 21.12.2011 19:33 Azoth_primary

Он хардмаскед в моих генточках :(

14. Cthulhu0xd34df00d /9 21.12.2011 19:37 Miranda

decltype(*data→contactList.begin ())

15. 0xd34df00dCthulhu /14 21.12.2011 19:40 Azoth_primary

Не оче короче.

16. Cthulhu0xd34df00d /15 21.12.2011 19:41 Miranda

Не короче, зато логичнее и нагляднее, согласись )
По крайней мере я бы всегда так писал.

17. 0xd34df00dCthulhu /16 21.12.2011 19:43 Azoth_primary

Логичнее и универсальнее — да. Нагляднее — не уверен. KDevelop'овому интеллисенсу сносит башню — да.

18. DZhonCthulhu /14 21.12.2011 19:46

boiler-plate, мде

19. DZhon0xd34df00d /17 21.12.2011 19:46

уж лучше явно писать, чем это, ИМХО

20. CthulhuDZhon /19 21.12.2011 19:49 Miranda

Да, чтобы при внезапной смене типов в контейнере пришлось фиксить каждый такой кусок. Лично я писал бы decltype и джуниоров заставлял бы делать так же всегда, например.

21. DZhonCthulhu /20 21.12.2011 19:50

для внезаной смены есть typedef-ы и ::value_type. Нахер использовать функционал, который реализован в единичных компиляторах ?

22. 0xd34df00dDZhon /21 21.12.2011 19:51 Azoth_primary

::value_type будет не бойлерплейтом там, да.

23. 0xd34df00d0xd34df00d /22 21.12.2011 19:51 Azoth_primary

И да, как ты там напишешь value_type?

24. CthulhuDZhon /21 21.12.2011 19:52 Miranda

> в единичных компиляторах

Окей, тогда предлагаю начать с предания анафеме лямбд, и вопрос о деклтайпах отпадет сам собой.

25. 0xd34df00dCthulhu /24 21.12.2011 19:52 Azoth_primary

Да вы охуели.

26. DZhon0xd34df00d /22 21.12.2011 19:53

будет тоже, пиши на хацкеле/камле

27. 0xd34df00dDZhon /26 21.12.2011 19:53 Azoth_primary

Я бы рад.

28. DZhonCthulhu /24 21.12.2011 19:53

Лямбды не замыкания, так что жалеть не о чем.

29. rman0xd34df00d /27 21.12.2011 19:53 Psi+

но теперь не он камень котит а камень котится за ним

30. DZhon0xd34df00d /23 21.12.2011 19:56

в QMap нет, да, в std::map есть typedef value_type

31. 0xd34df00dDZhon /30 21.12.2011 19:57 Azoth_primary

У меня там нет типа под рукой.

32. DZhon0xd34df00d /31 21.12.2011 19:59

хм, тогда деклитайпай, да.

Олсо, Dave Abrahams как раз недавно на тему типизации лямбд изливался, что получилась многословная хуета:
http://cpp-next.com/archive/2011/11/havi...

33. 0xd34df00dDZhon /32 21.12.2011 20:06 Azoth_primary

Сегодня прочитал обе статьи, да.

34. DZhon0xd34df00d /33 21.12.2011 20:08

Вторая какая-то хунта (про концепты), т.к. много синтаксического мусора, увы.

35. 0xd34df00dDZhon /34 21.12.2011 20:09 Azoth_primary

Enjoy your C++

36. DZhon0xd34df00d /35 21.12.2011 20:12

Nope! I am gonna use FFI ;]

Do you really want to delete ?