-
普通の関数は、
func(1,2)
みたいに、関数名のあとにカッコ、カッコの中に引数を指定する。 -
C++の世界に置いて2項演算子(いわゆる、
+
とか*
)は、「書き方が違うけど+
という2つ引数を取る関数に、左右の値を引数として渡している」と考えることもできる
つまり 1 + 2
→ +(1,2)
-
C++の世界では、こういう風に自分で関数を作り、それを記号に割り当てることで、新しい演算子を自分で作れる
-
C++では「オーバーロード」、つまり既にある関数を同じ名前で関数を再定義することで、関数の上書きができる
-
つまり、既にある
+
や-
という関数を、数値や小数同士以外の型へ対して自分で定義できる -
例えば、
+
演算子の引数が、数値ではなく大きさ2配列のバージョンを自力で作って、2次元ベクトルの足し算を指せるようなこともできる
厳密には、この説明文には嘘が入っている。演算子オーバーロードは特定のクラスに実装するかたちになる。
つまり、1 + 2
は +(1,2)
ではなく1.+2
として呼び出される。