История изменений
Исправление MOPKOBKA, (текущая версия) :
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
for (int i : r) {
std::cout << i << "\n"; // 8 7 9
}
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar. Начинать надо с того, как эту структуру хранить, я бы сказал что не надо хранить неопределенную по типу структуру вовсе. Если нужна реально динамика, то она строится поверх статики со своими правилами. Так же и в DB есть строгая таблица но можно перейти к EAV если очень нужно. Думаю работа с таблицами тебе более понятна по роду деятельности, или они тоже динамические у тебя?
Исправление MOPKOBKA, :
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
for (int i : r) {
std::cout << i << "\n"; // 8 7 9
}
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar. Начинать надо с того, как эту структуру хранить, я бы сказал что не надо хранить неопределенную по типу структуру вовсе. Если нужна реально динамика, то она строится поверх статики со своими правилами. Так же и в DB есть строгая таблица но можно перейти к EAV если очень нужно.
Исправление MOPKOBKA, :
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
for (int i : r) {
std::cout << i << "\n"; // 8 7 9
}
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar. Начинать надо с того, как эту структуру хранить, я бы сказал что не надо хранить неопределенную по типу структуру вовсе.
Исправление MOPKOBKA, :
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
for (int i : r) {
std::cout << i << "\n"; // 8 7 9
}
}
Потому что если суть в разнородной структуре входных данных, то непонятно зачем тут mapcar.
Исправление MOPKOBKA, :
Суть же в произвольном количестве?
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
for (int i : r) {
std::cout << i << "\n"; // 8 7 9
}
}
Исходная версия MOPKOBKA, :
#include <ranges>
#include <vector>
#include <array>
#include <iostream>
#include <numeric>
int main() {
std::vector<std::vector<int>> v = {{1,2, 5}, {3,4}, {9}};
auto r = v | std::views::transform([](auto arr){ return std::reduce(arr.begin(), arr.end()); });
for (int i : r) {
std::cout << i << "\n"; // 8 7 9
}
}