Конкатенация значений

У меня есть некоторые данные, хранящиеся в std::vector<std::vector<double>, Я использовал это, чтобы создать std::valarray от моего std::vector<std::vector<double>,

std:valarray<double> corpX(corps_tmp[i].data(), corps_tmp[i].size());

С этим новым std:valarray<double> Я создаю std::vector CorpX, поэтому я получаю std::vector<std:valarray<double>>, Теперь мне нужно хранить также первые два значения каждого std::valarray в другой std::valarray:

std:valarray<double> position_corps = \\ Concatenation of all the std::valarrays corpsX

Как я могу сделать это простым способом? Спасибо!

1

Решение

// assume: std::vector<std::valarray<double>> corpsX;
std::valarray<double> position_corps(corpsX.size());
for (std::size_t i = 0; i < corpsX.size(); ++i) {
position_corps[std::slice(2 * i, 2, 1)] = corpsX[i][std::slice(0, 2, 1)];
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]