再迭代器类及智能指针类中常常用到解引用运算符和箭头元素安抚
class StrBlobPtr{ public: std::string&operator*()const {auto p=check(curr,"dereference past end"); return (*p)[curr]; } std::string*operator->const { return & this->operator*() } }
解引用运算符首先检查curr是否仍在工作范围内,如果是,则返回curr所指向元素的一个引用,箭头运算符不执行自己的操作,而是调用解引用运算符并返回解引用结果元素的地址。