演算子のオーバーロードで多くの問題が発生しています。何に使用されているのか、いつ使用して目的の結果を生成するのかがわかりません。これは、コピーコンストラクター(関数がクラス型のオブジェクトを値で渡すたびに呼び出される)を作成するときに、=代入演算子をオーバーロードする必要があるという私の混乱と密接に関連しています。デストラクタは明示的に定義する必要があります。
どんな助けでも大歓迎です。
演算子のオーバーロードで多くの問題が発生しています。何に使用されているのか、いつ使用して目的の結果を生成するのかがわかりません。これは、コピーコンストラクター(関数がクラス型のオブジェクトを値で渡すたびに呼び出される)を作成するときに、=代入演算子をオーバーロードする必要があるという私の混乱と密接に関連しています。デストラクタは明示的に定義する必要があります。
どんな助けでも大歓迎です。
それは2つの質問です。3 つのルールに関するものは、別のトピックで回答されています (ネタバレ: それらの 1 つを実装している場合は、おそらくリソースを管理しており、そうする場合は、そのリソースを正しく管理するために他の 2 つを実装する必要があります)。
演算子のオーバーロードの使用に関する簡単な回答については、これを必要とするマトリックス ライブラリの構文を比較してください。
M.multiply( a).plus( N).plus( A.multiply( B));
あるいは:
plus( plus( multiply( a, M), N), multiply( A,B));
と:
a * M + N + A * B;