1. ホーム
  2. c++

[解決済み] なぜC++ではコピーコンストラクタはパラメータを参照で受けなければならないのですか?

2022-06-08 04:46:50

疑問点

なぜコピーコンストラクタのパラメータは参照渡しでなければならないのですか?

どのように解決するのですか?

参照でなければ、値によるものだからです。そのためにはコピーを作るわけで、そのためにはコピーコンストラクタを呼び出すことになります。しかし、そのためには新しい値を作る必要があるので、コピーコンストラクタを呼び出す、というように...。

("コピーを作るには、コピーを作る必要がある"ため、無限再帰が発生することになります)。