Почему официальные примеры и обучающие материалы о Qt-библиотеке никогда не используют интеллектуальные указатели? Я вижу только new
и delete
для создания и уничтожения виджетов.
Я искал логическое обоснование, но я не мог его найти, и сам не вижу его, кроме случаев, когда это связано с историческими причинами или обратной совместимостью: не все хотят, чтобы программа завершилась, если конструктор виджета вышел из строя, и обработал его через try/catch блоки просто уродливы (даже если они используются в нескольких местах). Тот факт, что родительские виджеты могут взять на себя ответственность за детей, также лишь частично объясняет мне эту вещь, поскольку вам все равно придется использовать delete
для родителей на некотором уровне.