Abfrage Variable Änderung

JimboJT

Grünschnabel
Hi,

gibt es nen Operator mit dem ich eine Variable abfragen kann ob sie sich nach einem Schleifendurchlauf geändert hat. z.B. eine Integervariable von 1 auf 2 gewechselt ist?

Gruss
 
Du schaltest einfach eine Variable dazwischen bzw. ein Array und dieses Array ist so oder wird so groß wie viel mal die Schleife durchlaufen wird. Wenn in der Schleife ein bestimmtes Ereignis stattfindet, dann wird in dem Array einfach ein Element mit einer 1 versehen ansonsten mit einer 0. Du musst natürlich in jedem Durchlauf auf jeden Fall ein Element in das Array hinzufügen.
 
Zuletzt bearbeitet:
Na kannst es so machen:
C++:
template <typename value_type>
struct logging_variable
{
    typedef value_type value_t;

    logging_variable(value_t const& value = value_t())
        : m_variable(std::make_pair(false, value))
    {}

    operator value_t() const { return m_variable.second; }
    operator value_t() { m_variable.first = true; return m_variable.second;  }

    void setstate(const bool used = false) { m_variable.first = used; }
    const bool getstate() const { return m_variable.first; }

private:
    std::pair<bool, value_t> m_variable;
};

typedef logging_variable<int> logging_int;
...
 
Hi,

Danke werd es gleich mal testen. Habe es die ganze Zeit mal anders versucht, dass Problem anzugehen, aber so wird es die beste Lösung sein.

Gruss
 
Ich bin mir nicht sicher ob das klappt. ... Ich habs nicht ausgetestet. Nur sollte eigtl. die const-Version genommen werden, wenn keine Zuweisung stattfindet und damit sollte es eigtl. so hinhauen, wie ich es mir Vorstelle :)
 
also ich hätte das anders gelöst, mit KD3's erster idee, variable zwischenspeichern.
du musst einfach am anfang der Schleife abfragen ob sich der Wert geändert hat..

Code:
if(a == alt_a)
continue;
else
break;

greetz
 
Zurück