【发布时间】:2019-11-06 12:35:17
【问题描述】:
检查成员资格是任何编程语言中最常用的操作之一,但 C++ 坚持程序员使用冗长的container.find(value) != container.end() 而不是可读的container.contains(value)。不为此操作添加语法糖的原因是什么?
【问题讨论】:
-
*sets 和*maps 都将拥有来自 C++20 的contains。 -
更糟糕的是,并不是所有的容器都有专门的
find()方法,所以你必须改用std::find() -
@RemyLebeau 但是你不应该使用做的容器!啊!
-
"检查成员资格是任何编程语言中最常用的操作之一" 需要引用。获取您找到的元素通常比仅测试成员资格更有价值。
标签: c++ syntactic-sugar