以下は私の 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 に関するものではありません。 & 文字がパラメーターの後に配置されている理由と、これが何と呼ばれているか、必要な場合/理由を知りたいだけです。