下标运算符通常会定义两个版本,一个返回普通引用,一个是类的常量成员并返回常量引用避免改变值
class StrVec
{
public:
std::string& operator[](std::size_t n)
{
return elements[n];
}
const std::string& operator[](std::size_t n) const
{
return elements[n];
}
private:
std::string *elements;
};
京公网安备 11010502036488号