最近我遇到了以下问题。我无法弄清楚原因。谁能指出我。
“Buffered”的父类是什么?你认为为什么选择它作为父类?使用这个父类的主要限制是什么?
示例代码
template <typename T>
class Buffered : private boost::noncopyable
{
public:
explicit Buffered (const T& value = T())
: current_ (value), next_ (value) {}
virtual ~Buffered() {}
const T& get() const {
return current_;
}
void set (const T& value) {
next_ = value;
}
void skip() {
this->set(this->get());
}
void force(const T& value) {
next_ = current_ = value;
}
void flip() {
current_ = next_;
}
private:
T current_;
T next_;
};