operate的官方解释是“重载”,其实我觉得叫“扩展”更好一些,他的功能(在本文中)基本就是扩展运算符的功能,比如比较两个自定义类型的变量 Gate cmy 和 Gate zyq这两个自定义变量

#include<cstdio>
#include<set>
#include<iostream>
using namespace std;
struct Gate
{int id;int error_id;
};bool operator<(const Gate cmy, const Gate zyq)
{if(cmy.id == zyq.id){if(cmy.error_id < zyq.error_id)return true;else return false;}else if(cmy.id < zyq.id)return true;return false;
}
int main()
{set<Gate> rs;Gate cmy,zyq;cmy.id = 1;cmy.error_id = 1;zyq.id = 1;zyq.error_id = 1;rs.insert(cmy);rs.insert(zyq);cout<<rs.size()<<endl;return 0;
}

上述程序的结果是1,也就是说重载成功了

重载在这里提出一个板子用法,也是在算法中用的比较多一个用法

bool operate<(const struct type value1,const struct type value2)/

{

//programming under

}

你可以把这个operate看成一个自定义函数,因为我们可以看到,这个东西有返回值的,而且是有形参的,operate后面跟着的是你重载的符号,直接挨着写就好了。

我理解的意思就是:当使用重载的逻辑运算符时,且逻辑运算符比较的两个数是形参的类型时,自动调用这个函数,并且执行函数体部分,最后根据返回值类型,返回结果

我理解的意思应该就是很通俗易懂的了,也是很简单的一种用法,至于别的用法,我就想拿着来写算法,不需要的我不想浪费时间,C++的前景也不是很好,也可以说没什么前景,所以就说到这里

C++中在使用自定义类型(结构体类型)的stl数据结构时,operate的用法相关推荐

  1. C语言结构体中指针指向数组,指向结构体类型数组的指针的使用

    指向结构体类型数组的指针的使用 定义一个结构体类型数组,其数组名是数组的首地址,下面是关于指向结构体类型数组的指针的使用具体介绍,欢迎阅读! 定义结构体类型的指针,既可以指向数组的元素,也可以指向数组 ...

  2. 对C++中set的遍历以及结构体类型的set遍历细节

    1.set的遍历只能是迭代器遍历,即set<type>::iterator it = st.begin(); it!=st.end();it++ 2.struct node { int i ...

  3. C语言程序设计 使用结构体类型处理组合数据——用户自定义数据类型

    1 定义和使用结构体变量 1.1 自定义建立结构体类型 好处:反映出成员之间的内在联系. 在程序中建立所需要结构体类型.例如: 指定了一个新的结构体类型struct student. struct是声 ...

  4. 【C进阶】之结构体类型( struct)

    结构体类型( struct) 1 结构体相关的概念 2 声明结构体类型的语法格式 3 定义结构体类型的变量 4 结构体中成员的访问 5 定义普通的结构体类型的变量,并访问 5.1 先声明结构体类型,在 ...

  5. Go判断结构体类型是否为空(nil)

    目录 前言 正文 前言 使用任何编程语言都会遇到判空的问题,那么Golang如何判空呢?说真的,这种方式我还是很意外的. 正文 说到Golang的判空机制,确实刷新了我的认知,多少有些丑 ^_^,特别 ...

  6. C语言自定义变量类型——结构体详解

    文章目录 前言 为什么要学习结构体 什么是结构体 一.结构体:struct 1.结构体类型的声明 (1)结构体的基础知识 (2)结构体的声明 (3)特殊的声明 2.结构体的自引用 3.结构体变量的定义 ...

  7. c语言中结构体类型只有,C语言中main()函数不要返回结构体类型(求助)

    大家先看一下这段程序: #include typedef unsigned char bool; typedef struct _person person; struct _person { boo ...

  8. c语言定义学生结构体类型,C语言中结构体的三种定义方式

    c语言中结构体的定义: struct 结构体名{ 成员列表: ..... }结构体变量: 7.1.1 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对 ...

  9. MATLAB 数据类型中的结构体类型,及其构造方法

    Matlab中的数据类型一共有四大类分别为: 1.数值类型 2.逻辑类型 3.字符和字符串类型 4.结构体类型 关于数据类型,尤其是前三种类型具体可见Matlab里的数据类型已经对其进行了详细的介绍. ...

  10. c语言中结构体类型定义的函数指针,结构体中定义函数指针

    结构体指针变量的定义 定义结构体变量的一般形式如下:形式1:先定义结构体类型,再定义变量struct 结构体标识符{ 成员变量列表;-};struct 结构体标识符 *指针变量名;变量初始化:stru ...

最新文章

  1. 还在用Jenkins?试试Gitlab的CI/CD功能吧,贼带劲!
  2. Linux-NFS原理介绍
  3. redhat下安装mysql 5.6.20,解压zip包,查看已经安装过的mysql,卸载rpm安装包,安装mysql服务器端和客户端,修改mysql用户名,登陆mysql,启动关闭mysql
  4. java 课程设计表达式求值_NYOJ-35-表达式求值
  5. 互联网晚报 | 1月25日 星期二 | 知乎首次举办上星晚会;微信视频号上线首个付费直播间;淘宝天猫“春节不打烊”活动正式上线...
  6. oracle交流 提问,Oracle常见提问6(转)
  7. 2022年 预训练的下一步是什么?
  8. Android -- 屏幕适配
  9. 【翻译】RAID, Auto Volume, HBA, Simple Volume模式之间的区别
  10. matlab三角函数拟合程序,三角函数拟合
  11. 圆周率π前百万位,完整版显示
  12. 【复习】物联网导论知识梳理
  13. html5图片在线剪辑,Web端裁剪图片方法
  14. phpmyadmin java_phpMyAdmin的配置
  15. LeetCode 101Pro
  16. 创宇猎幽斩获“2022年网络安全优秀创新成果大赛”三等奖!
  17. 手机登陆 html,手机登录(登陆)路由器方法
  18. 饮用水中铁锰超标的解决方法
  19. 晶振保存和使用中的注意事项
  20. html中row位置居中,rownumber

热门文章

  1. Flume+Kafka+storm的连接整合
  2. js页面跳转 和 js打开新窗口 方法 【转】
  3. 单向链表环测试并返回环起始节点
  4. 用 CSS 实现 Firefox 和 IE 都支持的半透明效果
  5. 小波变换和motion信号处理(一)
  6. C++模板Trait
  7. 软件工程 第二章 可行性研究
  8. oracle手动锁表和解锁_Oracle锁表查询和解锁方法
  9. numpy构建卷积网络
  10. Keras中的时间分布层TimeDistributed Layer使用教程