170 похожих чатов

Как проитерироваться по двум std::array одновремеенно? Нужно что-то типа функции std::transform,

где она принимает итераторы на 2 ренжа, но без выходного итератора

18 ответов

20 просмотров

Напиши тупо цикл...

а чем transform-то не подходит? Что-то не совсем понятно, что хочется (

Называется "zip", в стандартных плюсах нет Есть в ranges v3, можно написать свой в 200 строк

for (auto it1 = std::begin(arr1), it2 = std::begin(arr2); it1 != arr1 && it2 != arr2; ++it1, ++it2) {}

Egor-Kulebyakin Автор вопроса
Anton Semenov
а чем transform-то не подходит? Что-то не совсем ...

dot произведение векторов, к примеру. for (std::size_t i = 0; i < N; ++i){ result += v1.m_values[i] * v2.m_values[i]; } типа такого, только без цикла

Egor Kulebyakin
dot произведение векторов, к примеру. for (std::si...

да уж, для этого задумывался std::views::zip, но увы, только с C++23

Egor Kulebyakin
Лучше уж циклом :)

for (auto [x, y] : zip(v1.m_values, v2.m_values)) { result += x * y; }

Egor-Kulebyakin Автор вопроса
Sergey Skvortsov
for (auto [x, y] : zip(v1.m_values, v2.m_values)) ...

и стоит ли напрягаться и писать 200 строк ради этих трех?

Egor Kulebyakin
ну, буду ждать

можно самостоятельно реализовать по спецификации, а при переходе на новый стандарт просто заменить своё на std

Anton Semenov
можно самостоятельно реализовать по спецификации, ...

А там с 20 стд итераторы сильно упростились?

Sergey Skvortsov
for (auto [x, y] : zip(v1.m_values, v2.m_values)) ...

Ну вообще тут можно и ногу прострелить если в зип передавать временные объекты

Слава
А там с 20 стд итераторы сильно упростились?

сам я, кстати, не пробовал. С дивана советовать - не рейнджи имплементить :)

Anton Semenov
сам я, кстати, не пробовал. С дивана советовать - ...

Ну рейнджи вроде сложно расширяются самостоятельно

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта