Site Tools


mutable

В констанктных объектах, позволяет изменять переменную объекта которая объявлена с ключСловом mutable.

Gasmin стр96. - При объявление переменных cachedValue и cacheIsDirty используеются ключевое слово mutable
язфка С++. Это позволяет нам модифицировать эти переменные в функциях с модификатором const. Мы могли
бы поступить по-другому и заново выполнять расчет при кажждом вызове функции text(), но эта неэффективность
будет не оправдана.
  class Cell : public QTableWidgetItem
  {
  public:
      Cell();
  
      QTableWidgetItem *clone() const;
      void setData(int role, const QVariant &value);
      QVariant data(int role) const;
      void setFormula(const QString &formula);
      QString formula() const;
      void setDirty();
  
  private:
      QVariant value() const;
      QVariant evalExpression(const QString &str, int &pos) const;
      QVariant evalTerm(const QString &str, int &pos) const;
      QVariant evalFactor(const QString &str, int &pos) const;
  
      mutable QVariant cachedValue;
      mutable bool cacheIsDirty;
  };
You could leave a comment if you were logged in.
mutable.txt · Last modified: 2013/03/04 17:21 by konovalov

Page Tools