参照にコンパイル時の型チェックがないのに、なぜポインターではなく参照を使用するのですか?
(かなりランダムな)Person
参照/ポインターを保持する必要があるタイプのオブジェクトを作成していると想像してください。そのため、personオブジェクトはデータメンバーとして家の参照/ポインターを保持します。House
これが参照で行われたと想像してください:
class Person{
public:
Person(House& myHouse) : house(myHouse) { }
private:
House& house;
};
私が見る問題は、データメンバー宣言に&を含めるのを忘れた場合、参照だと思ったものがコピーになるということです。確かに、ポインタを渡して保存する方が安全なので、コンパイル時にこのエラーが報告されますか?
私はどちらか一方を使用することを主張していません-データメンバーを保存するためにポインター上で参照が使用されるのはなぜですか?