Inhalt Vektor/Matrix prüfen



  • Hallo!

    wie kann ich überprüfen, ob mein Vektor/Matrix (eigene Klasse) Werte enthält? Ich habe z.B. einen Vektor a(5) und möchte wissen, ob dieser bereits mit Werten besetzt ist oder nicht. Geht sowas? Dazu muss ich doch eine neue Methode in meine Klasse Matrix aufnehmen. Aber wie mach ich das?
    Hoffe es kann mir jemand weiterhelfen!



  • es gibt schon eine Methode, mit der man prüfen kann ob der vektor leer ist oder nicht.

    if (vec.empty())
    {
      ...
    }
    

    siehe: http://www.cppreference.com/cppvector/



  • Machs halt einfach so, dass du irgendwelche schwachsinnigen Default-Werte nimmst, die du im Konstruktor belegst, dann kannste überprüfen, ob die Werte mit den Default-Werten übereinstimmen und damit kannst dann relativ einfach überprüfen, ob die Variablen schon besetzt sind. Andernfalls würde ich dir raten, könntest du eine static Elementvariable in deiner Klasse deklarieren, die du beim Besetzen der Elemente um 1 hoch zählst, somit kannst du überprüfen, ob die Elemente, die du überprüfen willst, schon besetzt sind, nämlich anhand des Wertes von der Variable, und danach die Werte besetzen, oder ähnliches.



  • Ja das geht, du musst deine Variablen generell dazu mit einem Wert initialisieren, den sie eigentlich nie haben dürfte.
    Hat sie diesen Wert später ist sie nicht initialisiert....

    Geht das nicht, wird das ganze etwas komplizierter. Dann musst du dir entweder eine separate Variable verwenden um dies erkennen zu können oder aber du arbeitest an der Stelle mit Pointer, was auch nicht so ohne ist.



  • Ja das geht, du musst deine Variablen generell dazu mit einem Wert initialisieren, den sie eigentlich nie haben dürfte.
    Hat sie diesen Wert später ist sie nicht initialisiert....

    Geht das nicht, wird das ganze etwas komplizierter. Dann musst du dir entweder eine separate Variable verwenden um dies erkennen zu können oder aber du arbeitest an der Stelle mit Pointer, was auch nicht so ohne ist.



  • DANKE an alle!
    Dann werd ich jetzt mal versuchen obs funktioniert! 🙂



  • was spricht gegen eine bool variable in der klasse? z.B.
    private:
    bool valid_value;



  • Kommt darauf an wieviele bool-Variablen du brauchst... wenns nur eine in der Klasse ist gar nichts.... wenn du das aber für x-Variablen in einer Klasse machen musst oder für die Elemente innerhalb eines Containers, kommt man schon mal auf den Gedanken es anders lösen zu wollen.



  • Argument, das lass ich durchgehen 😉


Anmelden zum Antworten