【发布时间】:2016-01-06 16:48:21
【问题描述】:
在插入地图时,我需要检查两个子字符串是否相等。代码如下:
class substring {
public:
substring(string* str, int offset, int length) : str(str), offset(offset), length(length) { }
bool operator < (const substring& val) const {
if (str->compare(offset, length, *val.str, val.offset, val.length) == 0) return false;
else return true;
}
int offset, length;
string* str;
};
上面的这个类是我地图中的“关键”。 两个子字符串的长度总是相同的。有些条件是错误的,因为它仍然在喊“无效的比较器”。
【问题讨论】:
标签: c++ string stl operator-overloading