
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (78) « Первая ... 20 21 [22] 23 24 ... 77 78 ( Перейти к последнему сообщению ) |
Сообщ.
#316
,
|
|
|
Доступен GCC 4.4.1
Похоже лямбд и в GCC 4.5 небудет ![]() |
Сообщ.
#317
,
|
|
|
Цитата Большой @ Похоже лямбд и в GCC 4.5 небудет ![]() Скачай себе бранч, и пользуйся. ![]() ![]() |
Сообщ.
#318
,
|
|
|
Цитата Flex Ferrum @ Скачай себе бранч, и пользуйся. ![]() ![]() всеволишь объект создать с оператором (), как я понял вроде ничего сложного. |
Сообщ.
#319
,
|
|
|
Цитата DEADHUNT @ всеволишь объект создать с оператором (), как я понял вроде ничего сложного. Я так понял, что есть там свои тонкости. Глубоко не вникал, но с capture-списком нужно повозиться. |
Сообщ.
#320
,
|
|
|
Цитата DEADHUNT @ всеволишь объект создать с оператором (), как я понял вроде ничего сложного. непонял ты к чему. Добавлено Flex Ferrum Скачай себе бранч, и пользуйся что это и где взять? |
Сообщ.
#321
,
|
|
|
Цитата Большой @ Flex Ferrum Скачай себе бранч, и пользуйся что это и где взять? если не знаешь что это такое, то тебе лучше не брать ![]() но на всякий случай http://gcc.gnu.org/svn/gcc/branches/cxx0x-lambdas-branch/ |
Сообщ.
#322
,
|
|
|
Цитата DEADHUNT @ если не знаешь что это такое, то тебе лучше не брать Очень хорошая шутка Добавлено Flex Ferrum я так и не понял,они чё совсем лямбды делать не будут? |
Сообщ.
#323
,
|
|
|
Цитата Большой @ я так и не понял,они чё совсем лямбды делать не будут? http://gcc.gnu.org/gcc-4.5/cxx0x_status.html пока наверное нет, а зачем так понадобились lambda-expressions? |
Сообщ.
#324
,
|
|
|
DEADHUNT
Надоело функторы писать состоящие из 2-3 строк кода. |
Сообщ.
#325
,
|
|
|
Цитата Большой @ я так и не понял,они чё совсем лямбды делать не будут? А я почем знаю? Я за их мейл-листом не слежу. ![]() Цитата Большой @ что это и где взять? Качаешь исходники из их репозитория (ветку с лямбдами), выкчиваешь еще пару библиотек (для работы с длинными целыми и еще какую-то), компилируешь с помощью текущей версии gcc (компиляет достаточно быстро), делаешь make install, и пользуешься. А, да. К MinGW нужно msys выкачать (без него не сделаешь autoconf/automake). |
Сообщ.
#326
,
|
|
|
Цитата Flex Ferrum @ Качаешь исходники из их репозитория (ветку с лямбдами), выкчиваешь еще пару библиотек (для работы с длинными целыми и еще какую-то), компилируешь с помощью текущей версии gcc (компиляет достаточно быстро), делаешь make install, и пользуешься. А, да. К MinGW нужно msys выкачать (без него не сделаешь autoconf/automake). Не, на самом деле - это я погорячился. gcc 4.5 (основной транк) собрать под винду - это тот еще квест. ![]() ![]() |
Сообщ.
#327
,
|
|
|
Flex Ferrum
да, засада. Подожду еще. (Пока еще не сильно приперло) |
Сообщ.
#328
,
|
|
|
Цитата Большой @ да, засада. Ну, на самом деле там не все так страшно. Просто долго времени ушло на выяснение правильной последовательности запуска make'ов. Засада в другом. Бранч (который с лямбдами) содержит как минимум одну достадную ошибку в плане обработки блока __try/__catch. Выяснил это позавчера, когда игрался с std::unordered_map. Основной транк этой ошибки не содержит, но с лямбдами его мерджить надо. |
Сообщ.
#329
,
|
|
|
Цитата Flex Ferrum @ ошибку в плане обработки блока __try/__catch зачем в gcc __try/__catch? ![]() |
Сообщ.
#330
,
|
|
|
Цитата DEADHUNT @ зачем в gcc __try/__catch? ![]() А я почем знаю? ![]() Добавлено Код, который вызывал ошибку: ![]() ![]() // Definitions of class template _Hashtable's out-of-line member functions. template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::_Node* _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>:: _M_allocate_node(const value_type& __v) { _Node* __n = _M_node_allocator.allocate(1); __try { #ifdef _GLIBCXX_INCLUDE_AS_CXX0X _M_node_allocator.construct(__n, __v); #else _M_get_Value_allocator().construct(&__n->_M_v, __v); #endif __n->_M_next = 0; } __catch(...) { _M_node_allocator.deallocate(__n, 1); __throw_exception_again; } return __n; } |