代码之家  ›  专栏  ›  技术社区  ›  Tomilov Anatoliy

本标准中相同、相等、等效术语的含义

  •  3
  • Tomilov Anatoliy  · 技术社区  · 6 年前

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

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

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

    当涉及到关联容器时 相等的 已使用。对于两个元素 a b 意思是(大概) !(a < b) && !(b < a) . 而 平等的 a == b .

    完全相同的 什么意思?标准中有定义吗?

    1 回复  |  直到 6 年前
        1
  •  5
  •   StoryTeller - Unslander Monica    6 年前

    我在标准的相关章节中找不到“相同”的定义。看起来像是这个词的口语用法。你方的报价来自CPPCreference,这进一步证明了这一点。规范性定义 adjacent_find 在标准中是 specified in terms of == (or a predicate) directly :

    退换商品 :第一个迭代器 i 使两者 i + 1 保持: *i == *(i + 1) , pred(*i, *(i + 1)) != false . 如果没有返回最后一个 找到这样的迭代器。

    虽然cppreference是一个非常宝贵的资源,但它的目标是将标准文本消化成易于访问和理解的材料。有时,它会用口语来进行直观的解释。这就是这样一个例子。