0

以下は私の C++ テキストからの抜粋で、コピー コンストラクターを使用してクラスを宣言するための構文を示しています。

class Student {
     int no;
     char* grade;
 public:
     Student();
     Student(int, const char*);
     Student(const Student&);
     ~Student();
     void display() const; 
 };

次に示すように、コピー コンストラクター:

Student(const Student&);

パラメータ Student のにアンパサンドがあります。

C と C++ では、アンパサンド文字がポインターの「アドレス」演算子として使用されていると思います。もちろん、ポインター名のに & 文字を使用するのが標準であり、コピー コンストラクターは後に使用するため、これは同じ演算子ではないと思います。

私が見つけたアンパサンド文字の別の使用法は、次のように Rvalues と Lvalues に関連しています: http://www.cprogramming.com/c++11/rvalue-references-and-move-semantics-in-c++11。 html

私の質問は Rvalues と Lvalues に関するものではありません。 & 文字がパラメーターの後に配置されている理由と、これが何と呼ばれているか、必要な場合/理由を知りたいだけです。

4

1 に答える 1