с помощью std::move()), диапазон перемещается в owning_view, который затем содержит диапазон переданного
типа со всеми перемещенными элементами напрямую.
Это означает, что, когда функция возвращает представление, которое применяется к значению r, все работает так, как ожидалось. Это также описано в полном руководстве по C++20.
Однако на практике это не так (стр. 152 Полное руководство)
Пример приведен ниже
Код: Выделить всё
#include
#include
#include
auto getView() {
return std::vector{1,2,3}|std::ranges::views::drop(3);
}
int main(){
auto v = getView();
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79152730/c20-views-on-rvalue-objects[/url]
Мобильная версия