术语的含义相同,相等,等同于标准

问题描述 投票:3回答:1

标准中至少有三个含义相似的术语:相同,相同和等同。所有这些都在算法描述时使用。说,std::adjacent_find

在范围[first, last)中搜索两个连续的相同元素。

但比较器的描述说:

二元谓词,如果元素应该被视为相等,则返回true

当涉及到关联容器时,使用等价的单词。对于两个元素ab,它意味着(大致)!(a < b) && !(b < a)。虽然平等意味着a == b

这个术语的含义是什么意思?是否在标准中定义了?

c++ c++-standard-library
1个回答
5
投票

我在标准的相关章节中找不到“相同”的定义。看起来像是对这个词的口语化使用。您的引用来自cppreference的事实进一步支持了这一点。标准中adjacent_find的规范性定义是specified in terms of == (or a predicate) directly

返回:第一个迭代器i,使得ii + 1都在[first,last]范围内,其中包含以下相应条件:*i == *(i + 1)pred(*i, *(i + 1)) != false。如果没有找到这样的迭代器,则返回最后一个。

虽然cppreference是一种宝贵的资源,但其目标是将标准文本消化为易于访问且易于理解的资料。有时,它会通过口语的方式进行直观的解释。这是一个这样的情况。

© www.soinside.com 2019 - 2024. All rights reserved.