C++中在使用自定义类型(结构体类型)的stl数据结构时,operate的用法
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的用法相关推荐
- C语言结构体中指针指向数组,指向结构体类型数组的指针的使用
指向结构体类型数组的指针的使用 定义一个结构体类型数组,其数组名是数组的首地址,下面是关于指向结构体类型数组的指针的使用具体介绍,欢迎阅读! 定义结构体类型的指针,既可以指向数组的元素,也可以指向数组 ...
- 对C++中set的遍历以及结构体类型的set遍历细节
1.set的遍历只能是迭代器遍历,即set<type>::iterator it = st.begin(); it!=st.end();it++ 2.struct node { int i ...
- C语言程序设计 使用结构体类型处理组合数据——用户自定义数据类型
1 定义和使用结构体变量 1.1 自定义建立结构体类型 好处:反映出成员之间的内在联系. 在程序中建立所需要结构体类型.例如: 指定了一个新的结构体类型struct student. struct是声 ...
- 【C进阶】之结构体类型( struct)
结构体类型( struct) 1 结构体相关的概念 2 声明结构体类型的语法格式 3 定义结构体类型的变量 4 结构体中成员的访问 5 定义普通的结构体类型的变量,并访问 5.1 先声明结构体类型,在 ...
- Go判断结构体类型是否为空(nil)
目录 前言 正文 前言 使用任何编程语言都会遇到判空的问题,那么Golang如何判空呢?说真的,这种方式我还是很意外的. 正文 说到Golang的判空机制,确实刷新了我的认知,多少有些丑 ^_^,特别 ...
- C语言自定义变量类型——结构体详解
文章目录 前言 为什么要学习结构体 什么是结构体 一.结构体:struct 1.结构体类型的声明 (1)结构体的基础知识 (2)结构体的声明 (3)特殊的声明 2.结构体的自引用 3.结构体变量的定义 ...
- c语言中结构体类型只有,C语言中main()函数不要返回结构体类型(求助)
大家先看一下这段程序: #include typedef unsigned char bool; typedef struct _person person; struct _person { boo ...
- c语言定义学生结构体类型,C语言中结构体的三种定义方式
c语言中结构体的定义: struct 结构体名{ 成员列表: ..... }结构体变量: 7.1.1 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对 ...
- MATLAB 数据类型中的结构体类型,及其构造方法
Matlab中的数据类型一共有四大类分别为: 1.数值类型 2.逻辑类型 3.字符和字符串类型 4.结构体类型 关于数据类型,尤其是前三种类型具体可见Matlab里的数据类型已经对其进行了详细的介绍. ...
- c语言中结构体类型定义的函数指针,结构体中定义函数指针
结构体指针变量的定义 定义结构体变量的一般形式如下:形式1:先定义结构体类型,再定义变量struct 结构体标识符{ 成员变量列表;-};struct 结构体标识符 *指针变量名;变量初始化:stru ...
最新文章
- 还在用Jenkins?试试Gitlab的CI/CD功能吧,贼带劲!
- Linux-NFS原理介绍
- redhat下安装mysql 5.6.20,解压zip包,查看已经安装过的mysql,卸载rpm安装包,安装mysql服务器端和客户端,修改mysql用户名,登陆mysql,启动关闭mysql
- java 课程设计表达式求值_NYOJ-35-表达式求值
- 互联网晚报 | 1月25日 星期二 | 知乎首次举办上星晚会;微信视频号上线首个付费直播间;淘宝天猫“春节不打烊”活动正式上线...
- oracle交流 提问,Oracle常见提问6(转)
- 2022年 预训练的下一步是什么?
- Android -- 屏幕适配
- 【翻译】RAID, Auto Volume, HBA, Simple Volume模式之间的区别
- matlab三角函数拟合程序,三角函数拟合
- 圆周率π前百万位,完整版显示
- 【复习】物联网导论知识梳理
- html5图片在线剪辑,Web端裁剪图片方法
- phpmyadmin java_phpMyAdmin的配置
- LeetCode 101Pro
- 创宇猎幽斩获“2022年网络安全优秀创新成果大赛”三等奖!
- 手机登陆 html,手机登录(登陆)路由器方法
- 饮用水中铁锰超标的解决方法
- 晶振保存和使用中的注意事项
- html中row位置居中,rownumber