正常
Operator Overloading
Operator overloading lets custom types take part in operations as naturally as built-in types do—we can add two Vec3 objects directly, give a custom matrix type [] indexing, or even make objects callable like functions. In this chapter we walk through all the commonly used operator overloads, figure out which operators can be overloaded and which cannot, and learn how to do it without digging ourselves into a pile of implicit-conversion pitfalls.