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

时间:2019-06-24 17:01:37

标签: c++ syntactic-sugar

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

2 个答案:

答案 0 :(得分:3)

并非对所有容器都是如此。例如; std::set具有一个.count()成员函数,与contains基本上相同,如果容器不包含元素并且{{1} }。还有0适用于所有容器。

答案 1 :(得分:1)

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