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

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

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

18 ответов

5 просмотров

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

а чем 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
сам я, кстати, не пробовал. С дивана советовать - ...

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

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
How to create an OS in C? what to study?
Linus
18
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Карта сайта