Russian Qt Forum

Программирование => С/C++ => Тема начата: Igors от Март 28, 2012, 15:24



Название: Лямбда ?
Отправлено: Igors от Март 28, 2012, 15:24
Добрый день

Вот захотелось "приобщиться к культуре". Слыхал появилась лямбда ф-ция. Идею помню еще с AutoLisp - мол, где описали ф-цию - там и использовали. Конечно и без этого можно прожить, но (возможно) было бы поприятнее. А то часто того функтора с гулькин нос, а поди ж ты - делай класс, определяй оператор.

Кто использует? Простенький примерчик (неск строк)? Как дружит с компилятором?

Спасибо


Название: Re: Лямбда ?
Отправлено: Пантер от Март 28, 2012, 15:28
clang не поддерживает.
Код
C++ (Qt)
std::for_each (jobs_.constBegin(),
  jobs_.constEnd(),
  [this] (const Job &job) {
job.first->start (QThread::LowPriority);
startTask (job);
                  }
);
 
В википедии есть описание использования.


Название: Re: Лямбда ?
Отправлено: m_ax от Март 28, 2012, 16:21
Ещё здесь можно почитать http://www.kalnitsky.org/blog/2011/10/30/introduction-to-cpp11-part-3/ (http://www.kalnitsky.org/blog/2011/10/30/introduction-to-cpp11-part-3/)

gcc тока с версии >= 4.7.1 или 4.7.0 поддерживает лямбды.


Название: Re: Лямбда ?
Отправлено: Пантер от Март 28, 2012, 16:29
Ещё здесь можно почитать http://www.kalnitsky.org/blog/2011/10/30/introduction-to-cpp11-part-3/ (http://www.kalnitsky.org/blog/2011/10/30/introduction-to-cpp11-part-3/)

gcc тока с версии >= 4.7.1 или 4.7.0 поддерживает лямбды.
Неа. С 4.6 все работает отлично. И где ты 4.7.1 нашел? Только на днях 4.7.0 вышла.


Название: Re: Лямбда ?
Отправлено: m_ax от Март 28, 2012, 16:37
Ещё здесь можно почитать http://www.kalnitsky.org/blog/2011/10/30/introduction-to-cpp11-part-3/ (http://www.kalnitsky.org/blog/2011/10/30/introduction-to-cpp11-part-3/)

gcc тока с версии >= 4.7.1 или 4.7.0 поддерживает лямбды.
Неа. С 4.6 все работает отлично. И где ты 4.7.1 нашел? Только на днях 4.7.0 вышла.

Ну значит с 4.6) Всё никак не могу сесть разобраться и собрать его у себя)
У меня сейчас gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)


Название: Re: Лямбда ?
Отправлено: BRE от Март 28, 2012, 16:43
У меня сейчас gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
Посмотрел бы ты в сторону Arch Linux или Gentoo. ;)


Название: Re: Лямбда ?
Отправлено: Пантер от Март 28, 2012, 16:45
+1
Для разработчика, убунта как-то не очень. ;)


Название: Re: Лямбда ?
Отправлено: m_ax от Март 28, 2012, 16:57
Цитировать
Посмотрел бы ты в сторону Arch Linux или Gentoo.

Цитировать
+1
Для разработчика, убунта как-то не очень.

Вот, так и знал, что сейчас застремают))
Ну ничего, вот освобожусь немного скоро и Gentoo попробую)
Может даже Qt 4.8.1 соберу) 


Название: Re: Лямбда ?
Отправлено: BRE от Март 28, 2012, 17:24
Может даже Qt 4.8.1 соберу) 
Он уже там собранный будет. :)


Название: Re: Лямбда ?
Отправлено: Blackwanderer от Март 28, 2012, 18:43
Неа. С 4.6 все работает отлично.
Неа, еще с 4.5 (http://gcc.gnu.org/projects/cxx0x.html)

Вообще, главные проблемы тут в IDE. Многие до сих пор воспринимают лямбды как ошибку. На компиляцию это не влияет, но плывет форматирование кода, автоотступы и т.д.


Название: Re: Лямбда ?
Отправлено: BRE от Март 28, 2012, 23:44
Может даже Qt 4.8.1 соберу) 
Он уже там собранный будет. :)

В arch уже приехал новый Qt. Обновился. :)


Название: Re: Лямбда ?
Отправлено: m_ax от Март 28, 2012, 23:56
Может даже Qt 4.8.1 соберу) 
Он уже там собранный будет. :)

В arch уже приехал новый Qt. Обновился. :)


Быстро они там реагируют, однако)
Всё, к чёрту кубунту, попробую пересесть либо на Gentoo, либо на Arch )


Название: Re: Лямбда ?
Отправлено: Пантер от Март 29, 2012, 09:26
Я на Gentoo уже много лет, очень удобная система, только установка занимает несколько дней. Арч пробовал, но не доставило.


Название: Re: Лямбда ?
Отправлено: m_ax от Март 29, 2012, 09:29
Я на Gentoo уже много лет, очень удобная система, только установка занимает несколько дней. Арч пробовал, но не доставило.
Несколько дней? Это не опечатка  ???


Название: Re: Лямбда ?
Отправлено: Пантер от Март 29, 2012, 09:30
Я на Gentoo уже много лет, очень удобная система, только установка занимает несколько дней. Арч пробовал, но не доставило.
Несколько дней? Это не опечатка  ???
Нет, не опечатка. Система компилится из исходников, все настраивается ручками. :)


Название: Re: Лямбда ?
Отправлено: kambala от Март 29, 2012, 13:01
а с красными глазами сидел? :)


Название: Re: Лямбда ?
Отправлено: Пантер от Март 29, 2012, 13:02
-Что у вас есть из аттрибутики Линуксоида?
-Красные глаза.
(ЛОР)