注意
本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的运算符重载
一、前言
C/C++中有运算符重载这一概念,它的目的是让即使含不相干的内容也能通过我们自定义的方法进行运算符操作运算。
比如字符串本身是不能相加的,但由于C++中的String重载了运算符+,所以我们就可以将两个字符串进行相加、但实际的含义其实是拼接。
而rust中同样存在类似的功能,其底层其实是前面章节便讲过的trait。
二、基本使用
首先我们来看看如何进行加法运算符的重载:
struct Point {
x: i32