Size: a a a

2020 June 30

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Не люблю их. Если 1-2 аргумента, предпочитаю явно писать
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Если много, никуда уж не денешься, да
источник

АР

Андрей Руссков... in pro.cxx
хз, имо надо с умом капчить. Если ты хочешь записать for через for_each очевидно захват через & всегда будет корректным
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Alex
Именно for_each, но это самый бессмысленный стандартный алгоритм, я не буду загромождать им код
Он очень осмысленный при наличии готового функтора
источник

A

Alex in pro.cxx
Логика есть, но range-based for не хуже, ИМХО. И не требует #include<algorithm>.
источник

АР

Андрей Руссков... in pro.cxx
а явно прописывать захват имо лучше когда использование лямбды может выдать ошибку при некорректном захвате
источник

AZ

Alexander Zaitsev in pro.cxx
Artöm Bakri Al-Sarmini
Если много, никуда уж не денешься, да
я всё равно все явно пишу
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
Есть структура с тремя векторами внутри. Типы одинаковые, просто три отдельных контейнера. Какой самый быстрый и краткий способ написать для структуры сквозной итератор по этим трём контейнерам?

Вижу только вариант самому писать класс iterator, в нём хранить ссылку на родительскую структуру и сквозной индекс, и самому реализовывать все нужные методы итератора. Получается просто, но длинно. И итераторы "тяжелые", поскольку нужно хранить ссылку на родителя.
boost::make_zip_iterator, проще не напишешь)
источник

A

Alex in pro.cxx
Побитый Кирпич
boost::make_zip_iterator, проще не напишешь)
Судя по описанию - не то, мне нужна последовательная итерация, а не параллельная. В глубину, а не в ширину)
источник

A

Alex in pro.cxx
Но хорошо знать, что и такое есть, спс
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
Судя по описанию - не то, мне нужна последовательная итерация, а не параллельная. В глубину, а не в ширину)
Типа чтоб за последним элементом первого контейнера был первый элемент второго?
источник

A

Alex in pro.cxx
Именно так
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
Именно так
Это boost::ranges::join вроде как
источник

A

Alex in pro.cxx
Прикольно, а в std::ranges есть аналог?
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
Прикольно, а в std::ranges есть аналог?
Не знаю, я std не рассматриваю пока полноценной поддержки не будет
источник

A

Alex in pro.cxx
да и я тоже, хотя есть реализация на С++11 от чувака из ФБ (кажется)
источник

АК

Александр Караев... in pro.cxx
Alex
а есть в стандарте адаптер, чтобы делать for (auto&& item: {begin, end}) вместо for (auto it = begin; it != end; ++it) ?
std::ranges::subrange
источник

АК

Александр Караев... in pro.cxx
наконец-то можно будет сделать

for (auto& [_, v] : std::ranges::subrange(m.equal_range(k))) {
   mutate(v);
}
источник

O

Ofee in pro.cxx
Alex
Прикольно, а в std::ranges есть аналог?
источник

A

Alex in pro.cxx
Очень похоже, спасибо!
источник