C++ 概念: EqualityComparable

来自cppreference.com
< cpp‎ | concept
 
 
 

类型必须能用 == 运算符且结果应拥有标准语义。

[编辑] 要求

类型 T 满足可比较相等 (EqualityComparable) ,若

给定

  • abcTconst T 类型表达式

下列表达式必须合法且拥有其指定的效应

表达式 返回类型 要求
a == b 可隐式转换bool 建立拥有下列属性的等价关系:
  • 对于 a 的所有值, a == a 生成 true
  • a == b ,则 b == a
  • a == bb == c ,则 a == c

[编辑] 注意

为满足此要求,无内建比较运算符的类型必须提供用户定义 operator==

对于既可比较相等 (EqualityComparable) 又可比较小于 (LessThanComparable) 的类型, C++ 标准库在相等,即表达式 a == b 的值,和等价,即表达式 !(a < b) && !(b < a) 的值间做出区别。