move-ctor
От: niXman Ниоткуда https://github.com/niXman
Дата: 02.04.19 11:08
Оценка:
привет!

увы, не могу воспроизвести пример в хеловорде. телепаты приветствуются =)

есть приблизительно такой код:
struct type {
    type(const type &) = delete;
    type& operator= (const type &) = delete;

    type(int fd) {}

    type(type &&r) {}        // 1: hand-writen move ctor
    //type(type &&) = default; // 2:

};

type func(int fd) {
    type r{fd};

    return r; // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
}


вопрос в том, почему при использовании "hand-writen move ctor" код компилится, но если его закомментить и раскомментить автосгенеренный — получаю "use of deleted function ‘type::type(type &&)" ?

структура 'type' на самом деле содержит "move-only" член.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 02.04.2019 11:08 niXman . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.