<分区>
我想比较两个字符串,看看它们是否相同,不等于,大于,小于等。我有以下代码:
std::string _record = "adam";
std::string query = "adam";
int value = _record.compare(query);
return value == 0;
返回的是 false
。使用 cout
我注意到 value
返回一个 int
为零。但是,当我将 value
与零进行比较时,它返回 1(假)。
为什么会这样?
Using cout
I notice that value returns an int
that is zero. However, when I compare value to zero, it returns 1
(false
).
这是正确的,除了最后一位:bool(1)
是 true
,而不是 false
。
换句话说,0
实际上等于 0
。
附言您可以将函数重写为 return _record == query
。