0x2207 21.09.2011 08:08 epsilon

Очень плохо, что нет локальных функций и замыканий.

c++
1. DZhon 21.09.2011 08:50

Есть связывание переменных по ссылке в лямбда-выражениях, чем не аналог замыкания ?

2. 0x2207DZhon /1 21.09.2011 08:51 epsilon

в C++03 нет никаких лямбд :)

3. DZhon 21.09.2011 08:51

и да, auto local_func = [](){};
например

4. DZhon0x2207 /2 21.09.2011 08:51

Некрофил.

5. 0x2207DZhon /4 21.09.2011 08:52 epsilon

сам такой. :) не переписывать же весь проект?

6. DZhon 21.09.2011 08:54

Если Winnows, то плавно перетекаем на MSVS 2010 и юзаем,
иначе gcc >= 4.5, --std=gnu++0x

7. 0x2207DZhon /6 21.09.2011 08:55 epsilon

я считаю, что нужно рассматривать разные стандарты как два разных языка. иначе получается что нужно переписать три четверти кода, которые могут быть лучше реализованы в C++11, а иначе это получается самообман: вставить где-то лямбду в одном месте где она понадобилась, и потом всем объяснять что теперь им нужен gcc 4.6, чтобы это конпелять.

8. DZhon0x2207 /7 21.09.2011 08:58

Тоже резонно, но начинать когда-то надо.

9. 0x2207DZhon /8 21.09.2011 08:59 epsilon

новый проект надо начинать. ну или новую сильно-мажорную версию, где и так все придется переписать

10. dorfe0x2207 /2 21.09.2011 15:26

use _Winnie closures

11. DZhondorfe /10 21.09.2011 16:36

Лол, что только не придумают, чтобы не использовать boost::function или std::tr1::function.

12. DZhonDZhon /11 21.09.2011 17:00

А, посоны с геймдева боятся фрагментированной кучи, ок.
А я больше боюсь передавать такие колбеки (без копирования параметров) в другой поток.

13. dorfeDZhon /11 21.09.2011 20:28

Когда это придумали ни того ни другог не было.

14. dorfeDZhon /12 21.09.2011 20:29

И это тоже, да.

Do you really want to delete ?