检查成员资格是任何编程语言中最常用的操作之一,但是C ++坚持要求程序员使用冗长的container.find(value) != container.end()
而不是可读的container.contains(value)
。不为此操作添加语法糖的背后原理是什么?
答案 0 :(得分:3)
并非对所有容器都是如此。例如; std::set
具有一个.count()
成员函数,与contains
基本上相同,如果容器不包含元素并且{{1} }。还有0
适用于所有容器。
答案 1 :(得分:1)
有一种方法可以检查容器是否包含对象:std::any_of()
。这也更加灵活,因为它需要一个谓词来确定对象是否在容器中。