代码点读机 / C++ / operator

operator C++ · 关键字

运算符重载关键字,让自定义类型也能使用 +、-、[]、() 等运算符,像内置类型一样直观。

怎么用

返回类型 operator符号(参数) { ... }

小例子

struct Vec { int x; };
Vec operator+(const Vec& a, const Vec& b) {
  return {a.x + b.x};
}
Vec v1{1}, v2{2};
Vec v = v1 + v2;
std::cout << v.x;

运行结果

3

提醒:至少有一个参数是类类型或枚举类型;不能重载 . 、:: 、sizeof 等运算符

官方文档:https://en.cppreference.com/w/cpp/language/operators

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C++全部词条