Size: a a a

cxx.Дискуссионная

2020 April 08

а

акварель на мету... in cxx.Дискуссионная
Roy Mustang
Здравствуйте, если у меня хеш карта в качестве значения использует std::unique_ptr<pqxx::connection>
Можно ли в уже имеющийся ключ просто вызвать std::move нового unique_ptr в second ? Осободится ли прежний объект std::unique_ptr<pqxx::connection> правильно?
нельзя
источник

а

акварель на мету... in cxx.Дискуссионная
Roy Mustang
Здравствуйте, если у меня хеш карта в качестве значения использует std::unique_ptr<pqxx::connection>
Можно ли в уже имеющийся ключ просто вызвать std::move нового unique_ptr в second ? Осободится ли прежний объект std::unique_ptr<pqxx::connection> правильно?
у меня вопрос, почему ты сам не проверишь?
источник

а

акварель на мету... in cxx.Дискуссионная
у тебя компа нет?
источник

а

акварель на мету... in cxx.Дискуссионная
ты в голове программируешь?
источник

RM

Roy Mustang in cxx.Дискуссионная
акварель на мету
у тебя компа нет?
Нету
источник

Е

Егор in cxx.Дискуссионная
Roy Mustang
Здравствуйте, если у меня хеш карта в качестве значения использует std::unique_ptr<pqxx::connection>
Можно ли в уже имеющийся ключ просто вызвать std::move нового unique_ptr в second ? Осободится ли прежний объект std::unique_ptr<pqxx::connection> правильно?
ptr.reset(new_ptr)
источник

а

акварель на мету... in cxx.Дискуссионная
Roy Mustang
Нету
ок извини
источник

RM

Roy Mustang in cxx.Дискуссионная
Егор
ptr.reset(new_ptr)
Деструктор не вызовет уничтожение объекта в unique_ptr?
источник

Е

Егор in cxx.Дискуссионная
Roy Mustang
Деструктор не вызовет уничтожение объекта в unique_ptr?
старый удалит
источник

RM

Roy Mustang in cxx.Дискуссионная
Егор
старый удалит
Так мне это и нужно, просто хочу знать, насколько это безопасно
источник

Е

Егор in cxx.Дискуссионная
Roy Mustang
Так мне это и нужно, просто хочу знать, насколько это безопасно
https://en.cppreference.com/w/cpp/memory/unique_ptr/reset
вот тут порядок работы прочитай
источник

RM

Roy Mustang in cxx.Дискуссионная
Егор
https://en.cppreference.com/w/cpp/memory/unique_ptr/reset
вот тут порядок работы прочитай
Так подвох не в unique_ptr, а в мапе
источник

а

акварель на мету... in cxx.Дискуссионная
Roy Mustang
Деструктор не вызовет уничтожение объекта в unique_ptr?
Language:
cpp


Source:
#include<memory>
#include<iostream>

using namespace std;
struct T{
T(){
cout << "create" << endl;
}
~T(){ cout << "delete" << endl; }
};

int main(){
auto a = make_shared<T>();
a.reset(new T);
}


Result:
create
create
delete
delete


Note:
cplusplus_gcc assumed, other valid options are cplusplus_clang, visual_cplusplus, you can be more specific next time.
источник

Е

Егор in cxx.Дискуссионная
Roy Mustang
Так подвох не в unique_ptr, а в мапе
А в чём подвох
источник

Е

Егор in cxx.Дискуссионная
нашел значение по ключу, заменил, старого нет, новый есть
источник

RM

Roy Mustang in cxx.Дискуссионная
Егор
А в чём подвох
в emplace вроде слыхал
источник

а

акварель на мету... in cxx.Дискуссионная
Roy Mustang
в emplace вроде слыхал
проверь
источник

Е

Егор in cxx.Дискуссионная
ничё не понял
источник

а

акварель на мету... in cxx.Дискуссионная
Егор
ничё не понял
+
источник

а

акварель на мету... in cxx.Дискуссионная
рой ебанутый
источник