指针和方法的奇怪用法

if (mySharedState -> liveIPs -> find(flowStats -> destinationIP) != mySharedState -> liveIPs -> end() ){
     //do something
}


unordered_map <uint32_t, std::string> *liveIPs;

我从未见过这样的用法(使用find(...)和end())。有人可以帮我了解它的回报吗?
(顺便说一下,这是C ++代码)


最佳答案:

您使用此技术来检查容器是否包含该值。

find()返回与该值相对应的迭代器,end()返回容器末尾的迭代器1,用于表示“找不到值”。