Предположим, у меня есть вектор оценок, где оценка
struct Grade{
const int grade;
const int ECTS; // weight
};
Есть ли алгоритм / алгоритмы STL / range-v3, которые позволяют мне это сделать?
Я знаю, что мог бы сделать это с std:: accumulate
с каким-нибудь причудливым типом в качестве аккумулятора (который запоминает сумму весов), но я ищу более простую альтернативу, если таковая существует.
ranges::inner_product(grades, grades, 0, {}, {}, &Grade::grade, &Grade::ECTS);
- person metalfox   schedule 30.08.2019