Как присвоить умному указателю новое значение
int* ptr_1 = new int(10);
int* ptr_2 = new int(20);
std::unique_ptr<int> u_1 (ptr_1);
Можно ли сделать так, чтобы u_1 указывал на ptr_2, не затирая данные в ptr_1.
При использовании u_1.reset(ptr_2) в ptr_1 затираются данные
Ответы (1 шт):
Автор решения: Fat-Zer
→ Ссылка
Можно ли сделать так, чтобы u_1 указывал на ptr_2, не затирая данные в ptr_1.
int* old_ptr = u_1.release();
u_1.reset(ptr_2);