Re: boost::move
От: TarasKo Голландия  
Дата: 13.06.11 14:31
Оценка:
А что именно не понятно?
boost::move не пользовался, пользовался std::move.
move конвертирует ссылку на lvalue в rvalue.

Например у boost::thread отсутствует копирующий оператор присваивания, но есть перемещающий оператор присваивания.

boost::thread& operator=(const boost::thread&) = delete; \\ 1
boost::thread& operator=(boost::thread&&); \\ 2

есть вот такой код

boost::thread thr1(&thr_func);
boost::thread thr2;

thr2 = thr1;


Этот код не скомпилируется из-за попытки вызвать копирующий оператор присваивания.
boost::thread thr1(&thr_func);
boost::thread thr2;

thr2 = std::move(thr1);


А вот так скомпилируется и вызовется перемещающий оператор присваивания
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.