Всем привет, поясните, пожалуйста, новичку как в Qt пользоваться умными указателями. У Qt вроде есть свои классы для этого (не std::)?
Привет, Qtшники отлично свою документацию ведут, можно тут почитать во всех подробностях - https://wiki.qt.io/Smart_Pointers
@ai благодарю, начал изучать.
Непонятен такой момент - параллельно разбираю официальные примеры Qt - там нигде не используются их же собственные умные указатели (и никакие другие). Почему так?
@sial Qt полагается на систему parent-child, когда родитель при удалении удаляет все свои дочерние элементы самостоятельно. Например, есть MainWindow и все остальные виджеты созданы так, что являются для него дочерними. При удалении MainWindow удалит и их. Соответственно, отпадает необходимость в умных указателях, более того, потенциально возможны проблемы, когда и родитель удаляет элемент, и механизм умных указателей пытается удалить этот же элемент.