Представления C++20 об объектах rvalueC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Представления C++20 об объектах rvalue

Сообщение Anonymous »

На основании полного руководства по C++20 при передаче значения rvalue (временного диапазона, такого как контейнер, возвращаемый функцией, или контейнера, помеченного
с помощью 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]
Ответить

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

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

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

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

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