结构体排序之运算符重载与STL的应用

本文详细介绍了如何在C++中为自定义结构体`struct point`重载比较运算符,包括`==`, `!=`, `<=`, `<`, `>=`, 和 `>`。这些运算符的实现基于成员变量`elem`的比较,对于STL容器的使用至关重要,因为STL算法常常依赖于这些比较操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


struct point
{
	int elem;
	bool operator==(const point b) const
	{
		return this->elem == b.elem;
	}
	bool operator!=(const point b) const
	{
		return this->elem != b.elem;
	}
	bool operator<=(const point b) const
	{
		return this->elem <= b.elem;
	}
	bool operator<(const point b) const
	{
		return this->elem < b.elem;
	}
	bool operator>=(const point b) const
	{
		return this->elem >= b.elem;
	}
	bool operator>(const point b) const
	{
		return this->elem > b.elem;
	}
}

重载运算符的格式如下:
bool operator 运算符 (const 结构体名称 b) const
{
return(什么时候这个运算符对结构体成立);//注意对此运算符使用this->元素名;
}

重点

	bool operator<(const point s1) const
	{
		return this->v < s1.v;
	}

所有的STL都会用到 < 小于号。

参考资料
https://blog.youkuaiyun.com/sunny1996/article/details/51242184

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值