Как совместить unique_ptr и изменчивый? ⇐ C++
-
Anonymous
Как совместить unique_ptr и изменчивый?
Я столкнулся с непредвиденной проблемой при попытке объединить std::unique_ptr с квалификатором VOLUty.
Подводя итог, следующий код:
#include класс Объект { публика: целочисленные данные; }; структура данных { логический флаг; std::unique_ptr obj; }; void DoSomething(std::unique_ptr &obj) { ++(объект->данные); } void Worker(изменчивые данные *p) { while(!p->флаг) { //Праздный(); } std::unique_ptr lo = std::move(p->obj); //
Я столкнулся с непредвиденной проблемой при попытке объединить std::unique_ptr с квалификатором VOLUty.
Подводя итог, следующий код:
#include класс Объект { публика: целочисленные данные; }; структура данных { логический флаг; std::unique_ptr obj; }; void DoSomething(std::unique_ptr &obj) { ++(объект->данные); } void Worker(изменчивые данные *p) { while(!p->флаг) { //Праздный(); } std::unique_ptr lo = std::move(p->obj); //
Мобильная версия