| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > замыкание |
| Автор: sergioK1 17.5.2012, 19:49 |
| что это значит ? на русском не учился |
| Автор: Данкинг 17.5.2012, 19:54 |
| И что, на какой перевести? Кстати, при чём здесь С++ ? |
| Автор: alexvs11 17.5.2012, 20:43 | ||
замыкания есть только в c++ - лямбда функции с внешней переменной
|
| Автор: sergioK1 17.5.2012, 22:07 | ||
На любой ЯП не на язык демагогии перевод closure , всю жизнь считал что это аспект , а тут явно что-то другое alexvs11 это новый стандард , реальных проектов на нем пока почти никто не пишет, что это выражениие значит ? кто замыкает и кого ? у меня в задачах где нужен лямба - не нужен С++ чем это отличаеться от обычного доступа к переменной out of the scope ? |
| Автор: k0rvin 22.5.2012, 07:42 | ||||||||||||
лолшто? Добавлено через 12 минут и 48 секунд
Пример 1:
Пример 2:
Пример 3:
Пример 4:
|
| Автор: k0rvin 22.5.2012, 08:14 | ||||||
Замыкание -- это захват лексического контекста.
вот смотри, обычный доступ к переменной out of the scope:
при замыкании x захватывается и "живет" между вызовами count() |
| Автор: mes 22.5.2012, 08:23 |
k0rvin, там должно быть с++11 вместо с++ .. полагаю что опечатка.. |
| Автор: borisbn 22.5.2012, 08:27 |
| k0rvin, могу ошибаться, но думаю, что alexvs11 имел в виду, что их нет в Си, т.к. известно, что ТС не приемлет Си++ и пишет только на Си. По теме: http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BC%D1%8B%D0%BA%D0%B0%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) хмммм... в последнее время русскую вики вполне себе можно читать. даже статьи по программированию. |
| Автор: baldina 22.5.2012, 10:32 | ||
то самое. в смысле - closure. |
| Автор: sergioK1 22.5.2012, 10:58 | ||||||
Yгу , если догадаться что scope означает контекст ,
Вики пишет что GCC 4.5, already support this notation. у меня 4.5 ругает error: no matching function for call to 'find_if(std::vector<std::basic_string<char> >::iterator, std::vector инклуды все есть |
| Автор: baldina 22.5.2012, 13:04 |
| http://liveworkspace.org/code/089f9a5e53ed69d30dc2f65bc1e912f0 правда тут 4.7 но у вас оно ругается не на синтаксис, а на прототип |
| Автор: sergioK1 22.5.2012, 14:11 | ||
IDE поменял с непривычки варнинг не увидел , надо было -std=c++0x , счас бежит чето Я не понимаю At least three C++ compilers, Visual C++ 2010, Clang 2.9 and GCC 4.5, already support this notation. As of 12 August 2011, the approved C++11 standard does support closures. Т,е, Я понимаю лямда уже есть и в ++0x, а другие компайлеры (кроме этих трех) просто его поддерживают , так ? так они и С++11 не поддержат, тогда кому такой стандард нужен ? |
| Автор: mes 22.5.2012, 14:15 |
будущему поколению |
| Автор: sergioK1 22.5.2012, 14:25 | ||
Так чего тогда каждый второй пост рунета про это стандард , уже ж пожили ради будущего, мало ? надо еще 70лет ? |
| Автор: mes 22.5.2012, 14:48 | ||
будущее начинается еще вчера ) |
| Автор: baldina 22.5.2012, 17:12 |
| Intel 12 поддерживает лямбды |
| Автор: sergioK1 22.5.2012, 17:18 | ||||
ну раз вчера дык давайте про уже С++ 12 |
| Автор: borisbn 22.5.2012, 17:22 |
http://forum.vingrad.ru/forum/topic-346991.html |