为什么某些语言的文档说“等于”而不是“是”?
例如,Python文档说
itertools.chain(*iterables)
...
等效于:
def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element
或者,这个C ++参考的find_if
:
该功能模板的行为等效于:
template<class InputIterator, class UnaryPredicate> InputIterator find_if (InputIterator first, InputIterator last, UnaryPredicate pred) { while (first!=last) { if (pred(*first)) return first; ++first; } return last; }
如果那不是实际的代码,他们不能发布吗?如果是实际代码,为什么他们不得不说它是“等效”而不是简单的“是”?
对于python,如果您查找源代码,您会发现它
—
巴库里
chain
直接在C中实现,因此它与该python代码“等效”,因为它产生相同的结果,但避免了解释该代码的过多开销字节码。
@Mehrdad我知道这不是官方文档,它只是我发现对发现C ++的详细信息最有帮助的资源
—
Jon McClung
即使有明显更好的方法,他们也将被迫使用标准中设置的任何方法。
—
凯文(Kevin)
find_if
是不为C“的”文档++。如果是这样,则强制转换为bool
(您将在下面的答案中看到)是错误的。