Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> замыкание, что это такое  
:(
    Опции темы
sergioK1
Дата 17.5.2012, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



что это значит ?  на русском не учился 


PM MAIL   Вверх
Данкинг
Дата 17.5.2012, 19:54 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



И что, на какой перевести? Кстати, при чём здесь С++ ?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
alexvs11
Дата 17.5.2012, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 21.8.2010

Репутация: 6
Всего: 10



замыкания есть только в c++ - лямбда функции с внешней переменной
Код

[x](int y) { return x * y; }


Это сообщение отредактировал(а) alexvs11 - 17.5.2012, 20:51
PM MAIL   Вверх
sergioK1
Дата 17.5.2012, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(Данкинг @ 17.5.2012,  18:54)
И что, на какой перевести? Кстати, при чём здесь С++ ?

На любой ЯП не на язык  демагогии  smile 
перевод closure , всю жизнь считал что это аспект , а тут явно что-то другое 



alexvs11
это новый стандард , реальных проектов на нем пока почти никто не пишет,  
что это выражениие  значит ?
кто замыкает и  кого  ? 
у меня в задачах где  нужен  лямба - не нужен С++  smile 

чем  это отличаеться от  обычного доступа к переменной out of the scope ? 

Это сообщение отредактировал(а) sergioK1 - 17.5.2012, 22:09
PM MAIL   Вверх
k0rvin
Дата 22.5.2012, 07:42 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(alexvs11 @ 17.5.2012,  20:43)
замыкания есть только в c++

лолшто?

Добавлено через 12 минут и 48 секунд
Цитата(sergioK1 @ 17.5.2012,  22:07)
На любой ЯП не на язык  демагогии  smile 

Пример 1:
Код

(define (add x)
  (lambda (y)
    (+ x y)))

(map (add 3) '(1 2 3))
; => '(4 5 6)


Пример 2:
Код

(define (make-counter)
  (define count 0)
  (lambda ()
    (set! count (+ count 1))
    count))

(define count (make-counter))

(count) ; => 1
(count) ; => 2
(count) ; => 3


Пример 3:
Код

(define (pair x y)
  (lambda (m)
    (m x y)))

(define (first p)
  (p (lambda (x y) x)))

(define (second p)
  (p (lambda (x y) y)))

(define p (pair 1 2))

(first p)  ; => 1
(second p) ; => 2


Пример 4:
Код

(define (make-counter)
  (define count 0)
  (define (counter message)
    (case message
      ((get) count)
      ((inc) (set! count (+ count 1)))
      ((drop) (set! count 0))
      ( else (error 'counter "unknown message: ~a" message))))
  counter)

(define counter (make-counter))

(counter 'get) ;=> 0
(counter 'inc)
(counter 'inc)
(counter 'get) ; => 2
(counter 'drop)
(counter 'get) ; => 0



--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
k0rvin
Дата 22.5.2012, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(sergioK1 @ 17.5.2012,  22:07)
кто замыкает и  кого?

Замыкание -- это захват лексического контекста.

Цитата(sergioK1 @ 17.5.2012,  22:07)
чем  это отличаеться от  обычного доступа к переменной out of the scope?

вот смотри, обычный доступ к переменной out of the scope:
Код

makeCounter() {
    x = 0;
    return fun() {
        return ++x;
    }
} // -- x уничтожается здесь, поэтому вызов
Function count = makeCounter();
count(); // -- приведет к ошибке


при замыкании x захватывается и "живет" между вызовами count()


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
mes
Дата 22.5.2012, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(k0rvin @  22.5.2012,  06:42 Найти цитируемый пост)
замыкания есть только в c++

лолшто?

k0rvin, там должно быть с++11 вместо с++ .. полагаю что опечатка..




--------------------
PM MAIL WWW   Вверх
borisbn
Дата 22.5.2012, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



k0rvin, могу ошибаться, но думаю, что alexvs11 имел в виду, что их нет в Си, т.к. известно, что ТС не приемлет Си++ и пишет только на Си.
По теме: http://ru.wikipedia.org/wiki/%D0%97%D0%B0%...BD%D0%B8%D0%B5)

хмммм... в последнее время русскую вики вполне себе можно читать. даже статьи по программированию.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
mes
Дата 22.5.2012, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(borisbn @  22.5.2012,  07:27 Найти цитируемый пост)
хмммм... в последнее время русскую вики вполне себе можно читать. даже статьи по программированию. 

тем более интересно откуда ж тогда на форуме берутся такие вопросы ?!.. smile 


хм.. Данкинга и тут заминусили...


Это сообщение отредактировал(а) mes - 22.5.2012, 09:47


--------------------
PM MAIL WWW   Вверх
baldina
Дата 22.5.2012, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(sergioK1 @  17.5.2012,  22:07 Найти цитируемый пост)
перевод closure , всю жизнь считал что это аспект , а тут явно что-то другое 

то самое. в смысле - closure.

Это сообщение отредактировал(а) baldina - 22.5.2012, 10:34
PM MAIL   Вверх
sergioK1
Дата 22.5.2012, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(mes @ 22.5.2012,  08:45)
Цитата
хмммм... в последнее время русскую вики вполне себе можно читать. даже статьи по программированию. 



Yгу ,   если  догадаться что scope означает  контекст ,



Код

   names::iterator i = std::find_if(n.begin(), n.end(), [&](const string& s) {
            return s != myname && s.size() > y;
        });


Вики пишет что  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
инклуды все есть 




Это сообщение отредактировал(а) sergioK1 - 22.5.2012, 11:20
PM MAIL   Вверх
baldina
Дата 22.5.2012, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



http://liveworkspace.org/code/089f9a5e53ed...dc2f65bc1e912f0
правда тут 4.7
но у вас оно ругается не на синтаксис, а на прототип
PM MAIL   Вверх
sergioK1
Дата 22.5.2012, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(baldina @ 22.5.2012,  12:04)
http://liveworkspace.org/code/089f9a5e53ed...dc2f65bc1e912f0
правда тут 4.7
но у вас оно ругается не на синтаксис, а на прототип

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 не поддержат, тогда  кому такой стандард нужен ? 




PM MAIL   Вверх
mes
Дата 22.5.2012, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(sergioK1 @  22.5.2012,  13:11 Найти цитируемый пост)
так они и С++11 не поддержат, тогда  кому такой стандард нужен ? 

будущему поколению smile


--------------------
PM MAIL WWW   Вверх
sergioK1
Дата 22.5.2012, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(mes @ 22.5.2012,  13:15)
Цитата(sergioK1 @  22.5.2012,  13:11 Найти цитируемый пост)
так они и С++11 не поддержат, тогда  кому такой стандард нужен ? 

будущему поколению smile

Так чего тогда каждый второй пост рунета про это стандард , 
уже ж пожили ради будущего, мало ?  надо еще 70лет ?  smile 


PM MAIL   Вверх
mes
Дата 22.5.2012, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(sergioK1 @  22.5.2012,  13:25 Найти цитируемый пост)
Так чего тогда каждый второй пост рунета про это стандард , 
уже ж пожили ради будущего, мало ?  надо еще 70лет ?  

будущее начинается еще вчера )


--------------------
PM MAIL WWW   Вверх
baldina
Дата 22.5.2012, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Intel 12 поддерживает лямбды

PM MAIL   Вверх
sergioK1
Дата 22.5.2012, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(mes @ 22.5.2012,  13:48)
Цитата(sergioK1 @  22.5.2012,  13:25 Найти цитируемый пост)
Так чего тогда каждый второй пост рунета про это стандард , 
уже ж пожили ради будущего, мало ?  надо еще 70лет ?  

будущее начинается еще вчера )


ну раз вчера  дык давайте про уже  С++ 12  smile 

PM MAIL   Вверх
borisbn
Дата 22.5.2012, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(sergioK1 @  22.5.2012,  17:18 Найти цитируемый пост)
 давайте про уже  С++ 12

ужЕ


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0619 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.