Frage von Tobihogh, 33

Muss ich den Speicher freigeben(microcontroller/c++)?

#define F_CPU 1E6L

#include <util/delay.h>
#include <avr/io.h>

#include "Pin.h"
#include "RegPin.h"

int main()
{
    RegPin regPin = RegPin('D', 7, Pin::GPIO);
    Pin * pin = &regPin;

    for(int i=0;i<100;i++)
    {
        pin->high();
        _delay_ms(100);
        pin->low();
        _delay_ms(100);
    }
}

Muss ich den Pointer pin via delete freigeben? RegPin erbt von Pin. Ich vermute nicht, da regPin ja auf dem stack angelegt wurde. Ich wollte aber nochmals sicher gehen.

Tobi

Antwort
von TeeTier, 19

Nein, wenn du das versuchst passiert eine Katastrophe ... oder nichts ... je nachdem welchen Compiler mit welchen Einstellungen du benutzt.

Auf jeden Fall solltest du nichts freigeben, was auf dem Stack liegt. Und bei embedded Sachen wäre ich mit dynamischer Speicheralloziierung sowieso vorsichtig. :)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten