我想比较两个字符串,看它们是否相同,不相等,更大,更少等。我有以下代码:
std::string _record = "adam";
std::string query = "adam";
int value = _record.compare(query);
return value == 0;
返回的内容是false
。使用cout
我注意到value
返回零int
。但是,当我将value
与零进行比较时,它返回1(假)。
为什么会这样?
答案 0 :(得分:3)
使用
cout
我注意到该值返回零int
。但是,当我将值与零进行比较时,它会返回1
(false
)。
这是正确的,除了最后一位:bool(1)
是true
,而不是false
。
换句话说,0
确实等于0
。
P.S。您可以将函数重写为return _record == query
。
答案 1 :(得分:1)
您正在比较0到0并返回TRUE(1),因为0等于0