Вид диапазона к std :: evectorC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Вид диапазона к std :: evector

Сообщение Anonymous »

В предлагаемом C ++ 20 (One) диапазоны TS, какой предложенный метод преобразования представления в std :: vector? < /p>

Следующий код не компилируется: < /p>

int
main() {
std::vector values = {1.0, 2.0, 3.0, 4.0, 5.2, 6.0, 7.0, 8.0, 9.0};
//fmt::print("{}\n", std::experimental::ranges::views::filter(values, [] (float v) { return v < 5.f; }));
std::vector foo = vw::filter(values, [] (float v) { return v < 5.f; });
fmt::print("{}\n", foo);
}
< /code>

с ошибкой < /p>

../src/view.cpp:19:40: error: conversion from ‘std::experimental::ranges::v1::filter_view’ to non-scalar type ‘std::vector’ requested
std::vector foo = vw::filter(values, [] (float v) { return v < 5.f; });
< /code>

(закомментированная строка также не будет компилироваться из-за некоторых CV-ограничений). < /p>

Итак, как мне что-то сделать с точкой зрения, за исключением использования на основе диапазона для цикла? Реализация CMCSTL2, которую я использовал, даже следуя предложению? Похоже, что Ranges-V3 не является. Предложение PDF, которое я нашел, является в значительной степени ужасно отформатированной кодовой дамп в стиле DIFF. Фактически, непосредственно читать источники CMCSTL2 было легче прочитать для меня. Cppreference, кажется, тоже не хватает ...


Подробнее здесь: https://stackoverflow.com/questions/588 ... -stdvector
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»