erstellt CTime::GetCurrentTime() ein neues Objekt?



  • Hallo zusammen!

    Ich habe folgenden Code, der zur Ermittlung dient, wann die 40.Sekunde einer jden Minuten ist.

    CTime time;
    
    while(1)
    {
        time = CTime::GetCurrentTime();
        if(time.GetSecond() == 40)
        {
            //hier Abarbeitung wenn es zutrifft
            ...
        }
    }
    

    Ich habe nun in der Hiilfe gelesen, dass CTime::GetCurrentTime() ein Objekt mit der aktuellen Zeit zurückgibt. Wenn das so ist mache ich mir doch den Speicher voll nach einer gewissen Zeit?
    Ist das so? Wenn ja, wie könnte ich es umgehen?

    Viele Grüße,
    Ranger



  • Es wird jedesmal ein neues Objekt erzeugt, aber auf dem "Stack". Es wird sozusagen sofort nach verlassen der Zeile "GetCurrentTime" wieder zerstört.

    Du musst Dir sozusagen keine Gedanken bzgl. Speicher-Leack machen... höchstens zu Performance...



  • Vielen Dank für die Information!

    Die Performance Problematik hab ich hier auch schon erwartet, aber leider muss ich eine bestimmte Aktion zu Sekunde 40 einer jeden Minute ausführen. Ich habe das Beispiel hier nur so als Endlosschleife dargestellt. Ich habe einen eigenen Thread dafür, der mir eine Nachricht sendet, wenn ich den Zeitpunkt erreicht habe.

    Viele Grüße,
    Ranger


Log in to reply