Czy pominięcie "delete" na "QTimer" spowoduje wyciek pamięci?

Czy pominięcie "delete" na "QTimer" spowoduje wyciek pamięci?
K2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 142
0

Witam

Jeśli stworze obiekt: QTimer *timer = new QTimer(this);
to jeśli przed zamknięciem aplikacji nie zrobie delete to bedę miał wyciek pamięci?
Czy wystarczy dać:

Kopiuj
MainWindow::~MainWindow()
{
    delete ui;
    delete timer;
} 

aby nie było wycieku pamięci?

MA
  • Rejestracja: dni
  • Ostatnio: dni
0

Może być i w destruktorze.

Kopiuj
if (timer)
    delete timer;

dodanie znacznika <code class="cpp"> - furious programming

Lucas Darkstorm
  • Rejestracja: dni
  • Ostatnio: dni
1

Jeśli w konstruktorze obiektu QTimer wskazałeś na MainWindow jako rodzica, to nie będzie wycieku.

K2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 142
0

Czyli jeśli mam:

Kopiuj
 QTimer *timer = new QTimer(this);

To nie musze robić delete timer?
To sie tyczy wszystkich obiektów które mają w konstruktorze this? np. QSerialPort(this)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.