Как QT управляет памятью с помощью умных указателей? Мое приложение должно быть сбойC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как QT управляет памятью с помощью умных указателей? Мое приложение должно быть сбой

Сообщение Anonymous »

Надеюсь, этот вопрос найдет вас хорошо. Я немного озадачен этим. Я действительно не понимаю, как дерево модели объекта QT обрабатывает память с помощью умных указателей. ,
Вот Код: < /p>
child.h
#ifndef CHILD_H
#define CHILD_H

#include
#include

class Child : public QObject
{
Q_OBJECT
public:
explicit Child(QObject *parent = nullptr) : QObject{parent}
{
qDebug()
Когда Программа выходит из сфера действия, в процессе уничтожения моего статического Qlist его элементы родителей QsharedPointers сначала будут уничтожены. Ребенок - это указатель Qshared внутри родительского указателя. Следовательно, он будет автоматически удалять, потому что это интеллектуальный указатель с отсчета ссылок до 0. < /P>
Тогда мой родительский класс будет уничтожен. QWIDGET с наследниками от QObject, QT будет применять механизм разрушения дерева объектов. Что означает, что QT автоматически удалит детей родителей, которые уже должны быть уничтожены QsharedPointer выше ...
Мой вопрос: почему мое приложение не рухнет?

Подробнее здесь: https://stackoverflow.com/questions/794 ... e-crashing
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»