備忘録

政治/経済/自動運転/Python/Robotics

演算子オーバーロード

メンバ演算子

 return-type class-name::operator#(arg-list){ }

注意

メモ

  • 演算子オーバーロードでは return *this としてオブジェクトを返すべき
  • 参照仮引数を渡すのが効率がよい(コピーに伴う大量のオーバーヘッドを防ぐ)
  • フレンド演算子関数は組み込み型を演算子の左側に使用したいときに有用
  • インクリメント、デクリメントのオーバーロードで前置、後置を区別したいときはnotusedキーワードを使ってオーバーロードする。このとき、前置ならoperator++()が呼ばれ後置ならoperator++(int notused)が呼ばれる。

    例)coord coord::operator++(int notused);