![](/img/trans.png)
[英]Can I test a wstring::iterator for equality with a non-specific ::end?
[英]Equality comparison on the output of a wstring iterator not working
我有一个拿着绳子的载体。 我想看看其中一个字符串是否与变量中的字符串具有相同的内容:
std::wstring m_MyString;
void CheckExists() {
std::vector< std::wstring > list = ...
for (std::vector< std::wstring >::iterator it = list.begin(); it != list.end(); ++it) {
if (*it == m_MyString) {
...
break;
}
}
}
但是, *it == m_MyString
似乎并没有实现字符串相等性- if
向量中有匹配的字符串,则不会进入if
。 我认为它正在做指针/地址相等。 如何获得基本的字符串相等性?
原来的问题是变量中的字符串以空值结尾,而矢量中的字符串不是。 因此,它们看上去相同,但实际上并不相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.