为什么 C++ 容器没有 contains 方法?

Why does C++ containers not have a contains method?

检查成员资格是任何编程语言中最常用的操作之一,但 C++ 坚持要求程序员使用冗长的 container.find(value) != container.end() 而不是可读的 container.contains(value)。不为此操作添加语法糖背后的基本原理是什么?

有一种方法可以检查容器是否包含对象:std::any_of()。这也更灵活,因为它需要一个谓词来确定对象是否在容器中。

并非所有容器都如此。例如; std::set 有一个 .count() 成员函数,本质上与 contains 相同,如果容器不包含元素,它将 return 0 并且>0 如果有的话。还有 std::any_of 适用于所有容器。