有没有办法声明一个迭代器,它是一个类中的成员变量,并且可以使用成员函数递增,即使该类的对象是const.
那将是"mutable"关键字.
class X { public: bool GetFlag() const { m_accessCount++; return m_flag; } private: bool m_flag; mutable int m_accessCount; };
你确定你需要迭代器作为成员吗?迭代器有能力:它们变得无效.这是设计问题的一个小标志.