Top.Mail.Ru
Уведомления
Очистить все

[Решено] Smart pointers в Qt

Sial
 Sial
(@sial)
New Member

Всем привет, поясните, пожалуйста, новичку как в Qt пользоваться умными указателями. У Qt вроде есть свои классы для этого (не std::)?

Цитата
Topic starter Размещено : 20.09.2021 17:23
AI
 AI
(@ai)
Eminent Member

Привет, Qtшники отлично свою документацию ведут, можно тут почитать во всех подробностях - https://wiki.qt.io/Smart_Pointers

ОтветитьЦитата
Размещено : 26.09.2021 18:43
Sial
 Sial
(@sial)
New Member

@ai благодарю, начал изучать.

Непонятен такой момент - параллельно разбираю официальные примеры Qt - там нигде не используются их же собственные умные указатели (и никакие другие). Почему так?

ОтветитьЦитата
Topic starter Размещено : 27.09.2021 13:38
Aveal
(@aveal)
Illustrious Member Admin

@sial Qt полагается на систему parent-child, когда родитель при удалении удаляет все свои дочерние элементы самостоятельно. Например, есть MainWindow и все остальные виджеты созданы так, что являются для него дочерними. При удалении MainWindow удалит и их. Соответственно, отпадает необходимость в умных указателях, более того, потенциально возможны проблемы, когда и родитель удаляет элемент, и механизм умных указателей пытается удалить этот же элемент.

ОтветитьЦитата
Размещено : 28.09.2021 12:48
Поделиться: