当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ utility rel_ops用法及代码示例



描述

它是一个关系运算符。

声明

以下是 std::rel_ops 函数的声明。

namespace rel_ops {
   template <class T> bool operator!= (const T& x, const T& y);
   template <class T> bool operator>  (const T& x, const T& y);
   template <class T> bool operator<= (const T& x, const T& y);
   template <class T> bool operator>= (const T& x, const T& y);
}

C++11

namespace rel_ops {
   template <class T> bool operator!= (const T& x, const T& y);
   template <class T> bool operator>  (const T& x, const T& y);
   template <class T> bool operator<= (const T& x, const T& y);
   template <class T> bool operator>= (const T& x, const T& y);
}

参数

T─ 它是一个类型,该类型应为 EqualityComparable。

返回值

异常

数据竞争

示例

在下面的例子中解释了 std::rel_ops 函数。

#include <iostream>
#include <utility>
#include <cmath>

class vector2d {
   public:
      double x,y;
      vector2d (double px,double py):x(px), y(py) {}
      double length() const {return std::sqrt(x*x+y*y);}
      bool operator==(const vector2d& rhs) const {return length()==rhs.length();}
      bool operator< (const vector2d& rhs) const {return length()< rhs.length();}
};

int main () {
   using namespace std::rel_ops;
   vector2d a (10,10);
   vector2d b (15,20);
   std::cout << std::boolalpha;
   std::cout << "(a>b) is " << (a<b) << '\n';
   std::cout << "(a<b) is " << (a>b) << '\n';
   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果——

(a>b) is true
(a<b) is false

相关用法


注:本文由纯净天空筛选整理自 C++ Utility Library - rel_ops Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。