>> for_each( mas.begin(), mas.end(), Print() );
Странно я всегда полагал что Print() создаcт анонимный объект, а при заходе в for_each произойдет его копирование. Это какой — то результат оптимизации, что с++ анонимные объекты передает принудительно по ссылке или стандарт?
Я под live подразумеваю возможность в on вешать обработчик на родителя. Потому — что такая фича появилась сначала в live, потом её в delegate перенесли с указанием контекста, а потом в функцию on.
Ок, решено, отказываемся от jquery on, у нас же есть addEventListener.
А что с live? Ну мы можем смотреть event.target и сравнивать там, например event.target.className, вроде норм.
className состоит из нескольких классов? Не проблема, разобьем строку по пробелам или регуляркой чекнем в конце концов.
А что если в целевом элементе есть другие элементы и мы кликнули по ним, ведь в event.target попадет не то что нам нужно? Значит пробежимся по dom'у вверх и сделаем проверку для каждого элемента.
Хм, а что если обернуть всё это красиво в функцию, ведь забодаешься всё это каждый раз писать.
А вобще, ну его к черту, пойду обратно на jquery
Видимо логика строилась на том, что ключевого слова function для функций нет, стало быть и для лямбд его не надо. А скобки просто для передачи контекста в лямбду.
В Lua круче сделано, там 2 формата вызова методов
obj:func(param1, param3)
тогда в this попадет obj
а можно
obj.func(obj2, param1, param3)
тогда в this попадет obj2
>> Кусок «->возвращаемый тип» может отсутствовать. Тогда подразумевается «->void»
там не void подразумевается, а auto и будет выведение типа для результата, как если бы мы объявили обычную функцию с типом auto, только в лямбдах это по умолчанию подразумевается.
Я так понимаю он эдакий Стив Джобс в транспортном бизнесе. ИМХО тут есть разница между инновацией и изобретением. Частные полеты в космос — это инновация, а трубопроводный транспорт — это изобретение.
Желаю конечно удачи проекту, но не приведет ли это к тому, что мы опять будем бодаться с кросскомиляцией? И зачем спрашивается вобще нужно было в виртуальные машины тогда съезжать?
Согласен в целом. Но это уже слишком лучезарно, чтобы сбыться. А так если задуматься, то абсолютно логично писать клиентскую часть на том языке, каком ты считаешь нужным, стыковать клиентскую и серверную часть без лишних костылей, не ждать когда поставщики браузеров запилят более современный диалект javascript, а просто скачать свеженькую версию компилятора своего любимого языка в «межбраузерный байт-код» и наслаждаться жизнью.
Странно я всегда полагал что Print() создаcт анонимный объект, а при заходе в for_each произойдет его копирование. Это какой — то результат оптимизации, что с++ анонимные объекты передает принудительно по ссылке или стандарт?
А что с live? Ну мы можем смотреть event.target и сравнивать там, например event.target.className, вроде норм.
className состоит из нескольких классов? Не проблема, разобьем строку по пробелам или регуляркой чекнем в конце концов.
А что если в целевом элементе есть другие элементы и мы кликнули по ним, ведь в event.target попадет не то что нам нужно? Значит пробежимся по dom'у вверх и сделаем проверку для каждого элемента.
Хм, а что если обернуть всё это красиво в функцию, ведь забодаешься всё это каждый раз писать.
А вобще, ну его к черту, пойду обратно на jquery
obj:func(param1, param3)
тогда в this попадет obj
а можно
obj.func(obj2, param1, param3)
тогда в this попадет obj2
там не void подразумевается, а auto и будет выведение типа для результата, как если бы мы объявили обычную функцию с типом auto, только в лямбдах это по умолчанию подразумевается.