![](/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.