The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.50"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск языка программирования Rust 1.50" +/
Сообщение от Ordu (ok), 12-Фев-21, 18:11 
> Я конечно могу ошибаться, на плюсах только учился, а не программировал, но
> при конструкции "Test a = Test(std::string("first"));" происходит copy объекта, а не
> move, как в расте, потому и освобождает 2 раза. Если явно
> указать перемещение объекта, то возможно и 1 раз освободит (у меня
> нет желания проверять, я просто воздух тут сотрясаю).

А, кстати, реально. Я не задумывался раньше, но в расте оказывается нельзя комбинировать Copy+Drop. Там какие-то технические причины[1], но в принципе даже без них такая комбинация выглядит подозрительно, если подумать. То есть, осталось придумать, как отломать копирующий конструктор, не поломав возможность делать move... В C++0x17 есть move конструктор, я что-то читал про это... Надо будет попробовать, может сработает.

[1] https://github.com/rust-lang/rust/issues/20126

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.50, opennews, 12-Фев-21, 16:00  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру