如何在c ++中声明volatile迭代器

1 c++ iterator volatile

有没有办法声明一个迭代器,它是一个类中的成员变量,并且可以使用成员函数递增,即使该类的对象是const.

Jam*_*ran 7

那将是"mutable"关键字.

class X
{
public:
   bool GetFlag() const
   {
      m_accessCount++;
      return m_flag;
   }
private:
   bool m_flag;
   mutable int m_accessCount;
};
Run Code Online (Sandbox Code Playgroud)


Myk*_*yev 5

你确定你需要迭代器作为成员吗?迭代器有能力:它们变得无效.这是设计问题的一个小标志.