Open yanaskyrda opened 4 years ago
В залежності від типу вказівника: unique_ptr: std::unique_ptr<type> pointer = std::make_unique<type>(); або std::unique_ptr<type> pointer(new type()); Перший спосіб вважається кращим для exception safety shared_ptr та weak_ptr:
std::unique_ptr<type> pointer = std::make_unique<type>();
std::unique_ptr<type> pointer(new type());
std::weak_ptr<type> p; { std::shared_ptr<type> pointer = std::make_shared<type>(); p = pointer; }
std::make_unique() для unique ptr; std::make_shared<type() для shared ptr; а також копіювання для weak та shared ptr
std::unique_ptr pointer(new Class()); std::shared_ptr pointer(new Class());
Через конструктор або std::make_shared, std::make_unique
std::make_unique() для unique ptr; std::make_shared () для shared ptr auto ptr scope ptr
В залежності від типу вказівника: unique_ptr:
std::unique_ptr<type> pointer = std::make_unique<type>();
абоstd::unique_ptr<type> pointer(new type());
Перший спосіб вважається кращим для exception safety shared_ptr та weak_ptr: