Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Приветствую! Можно ли изнутри лямбды достучаться до итератора? Типа Код: plaintext 1. Разумеется, можно сделать без лямбд, но подсел на компактность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 18:02 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Только грязным хаком: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 18:08 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Жалко. Впрочем, вроде вариант более менее рабочий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 18:49 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
tolyanchikРазумеется, можно сделать без лямбд, но подсел на компактность В настоящей погоне за компактностью люди наворотили 5К Chess умело используя #defines. А некоторые перцы пилят ультра-компактные эзотерические ЯП (кстати в смежных форумах ). Но я-бы выбирал между идеологией и С++. Если вы твёрдо решили идти в лямбды то может быть стоит менять парадигму а не курочить бедные несчастные плюсы. Их семантика и так пострадала да лет 10-20 навязывания чужеродных стилей кодинга. Старик Бьярне хватается за сердце и пьёт капли. Да и тимлид вас проклянёт проклятием Вуду после первого кодеревью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:07 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Да ну:) Сам Бьярн очень доволен новым С++, мол это как новый язык. Компактность не самоцель, просто если нет разницы, зачем писать больше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:19 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
tolyanchikДа ну:) Сам Бьярн очень доволен новым С++, мол это как новый язык. Компактность не самоцель, просто если нет разницы, зачем писать больше?А как насчет "читать"? Речь то не о том что ты такой молодец запихнул в минимум букв, максимум команд. А о том, что кто-то это потом поддерживать будет и искать в этом баги. И твой напарник привыкший к С++ проклянет тебя, выкинет твой код нафиг и перепишет его в традиционном стиле. А если так хочется писать функционально - ну возьми Хаскел и пиши на нем. Связь с С++ там очень легко делается и всем будет сразу понятно что этот код написан в лямбда-стиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:34 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
А чем не нравиться по людски? Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:38 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Читаемость не страдает, думаю, это дело привычки. В основном лямбды будут работать внутри стандартных алгоритмов. А что взамен? Функторы? Или велосипедный самопал вместо алгоритмов СТЛ ( зато понятно )? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:39 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Только грязным хаком Можно, конечно. Но хотелось однострочник:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:41 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Только грязным хаком:А чем не нравиться по людски? Код: plaintext 1. 2. А для любых контейнеров гарантируется корректность вычитания из end() ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:45 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Только грязным хаком Плюс это не для всех типов итераторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:45 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
tolyanchik Только грязным хаком Можно, конечно. Но хотелось однострочник:)Легко! Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:47 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
tolyanchik, Напишите свой generate с двумя генераторами и используйте в своих однострочниках. Типа такого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 19:58 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsk Спасиб, интересно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 20:03 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyТолько грязным хаком:А чем не нравиться по людски? Код: plaintext 1. 2. А для любых контейнеров гарантируется корректность вычитания из end() ? Только: vector, array и deque. В list, map и set только такого вида вариант прокатывает: Код: plaintext 1. В unordered_set, unordered_map и forward_list нету функции .rbegin(). И к слову, в queue и stack вообще нету being() и end() :) http://ideone.com/j1wMQo ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 21:00 |
|
||
|
Достать итератор изнутри лямбды
|
|||
|---|---|---|---|
|
#18+
[quot mayton]tolyanchikНо я-бы выбирал между идеологией и С++. Если вы твёрдо решили идти в лямбды то может быть стоит менять парадигму а не курочить бедные несчастные плюсы. Их семантика и так пострадала да лет 10-20 навязывания чужеродных стилей кодинга. Старик Бьярне хватается за сердце и пьёт капли. Ну, тут ты глубоко неправ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2013, 11:41 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38405156&tid=2019960]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 290ms |
| total: | 450ms |

| 0 / 0 |
