码迷,mamicode.com
首页 > 编程语言 > 详细

c++中的工具(二):自动生成比较操作符

时间:2020-01-31 14:30:19      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:class   operator   namespace   bsp   实现   生成   const   运算符   names   

在C++头文件<utility>中,定义了一个命名空间rel_ops,其中专门存放了四个不同的比较操作符:>=<=>!=。代码实现如下:

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

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

即实现上述四个比较运算符,只需要我们实现<和==,其他四个可自动生成。

在程序中使用 using namespace std::rel_ops; 即可自动生成这四个运算符。

c++中的工具(二):自动生成比较操作符

标签:class   operator   namespace   bsp   实现   生成   const   运算符   names   

原文地址:https://www.cnblogs.com/mindulmindul/p/12245144.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!