1. ホーム
  2. c++

[解決済み] rhsの仕組みについて教えてください。

2022-01-26 23:06:36

質問

ここで、rhsは右辺を意味することは理解できますが、コンパイラは"rhs"が右辺を指すことをどのように理解するのかが分かりません。また、どのような場合にこのオーバーロードが必要なのか、どなたか教えてください。

MyArray<T>& operator=(const MyArray<T>& rhs); 

解決方法は?

コンパイラは rhs は、quot;right hand side"を表し、実際にはその変数名は好きなものにすることができます。

の構文があるため、コンパイラはこれをどのように書けばよいかを知っています。 operator= は、このようにすることを要求しています。

class A
{
public:
   A& operator=(const A& other);
};

言語では、この演算子の使い方が次のような形になるように定義されています。

A a, b;
a = b;

上記のコードでは A::operator=(const &other) のインスタンスに対して A という名前の a のインスタンスを使用します。 A という名前の b として other .