はじめに この記事ではC++の演算子のオーバーロードを使い慣れていない人の為のまとめとして作成しました。 C++の演算子のオーバーロード、引数や戻り値に自由が利きすぎてどうするのがセオリーなのか分からないぞ、というようなときに見て頂けたらと思います。 主に引数や戻り値を中心に据えますが、細かい機能も網羅していきたいと考えています。 私は二項演算子はグローバル関数教の信徒であり、const教の敬虔な信徒です。 優先順位の順に、演算子別に解説します。 なお、thisの型を T* const型とし、Tとは別の任意の型をUとしています。 では、早速解説していきたいと思います。 Member Selection メンバ選択演算子。ドット演算子はオーバーロードできないので、載せるのはアロー演算子だけになります。この演算子はメンバ関数でなければなりません。また、演算子の文脈で使うにはアロー演算子を持った
![C++演算子オーバーロード大全 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/dace162ae0edc76372472fb7c4f9d58a23af8265/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9QyUyQiUyQiVFNiVCQyU5NCVFNyVBRSU5NyVFNSVBRCU5MCVFMyU4MiVBQSVFMyU4MyVCQyVFMyU4MyU5MCVFMyU4MyVCQyVFMyU4MyVBRCVFMyU4MyVCQyVFMyU4MyU4OSVFNSVBNCVBNyVFNSU4NSVBOCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NzQ0NTEwMTQzNDE4NmU5MTQ0ODQ4Njk5OWM0MmE4MjM%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwcmluc2VfJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0yYzNjYjgwOGQ4NzdjMjI2NmU5ZGZjZDZiYmQ0NDI4OQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D352950542d09a3948f1d4d6f04c180cc)