C++重载成员访问运算符

再迭代器类及智能指针类中常常用到解引用运算符和箭头元素安抚

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所指向元素的一个引用,箭头运算符不执行自己的操作,而是调用解引用运算符并返回解引用结果元素的地址。

上一篇:PO88前两数之和


下一篇:剑指Offer 24. 反转链表