를 통해 소유권을 대표하는이 세 가지 클래스가 있습니다.C++ 포인터 내 게임 엔진에서
EntityVehicle는 의 인스턴스 EntityCharacter에 대한 포인터와 좌석 개체를 포함합니다. 좌석 객체의 목표 문자 엔티티 포인터가 널 포인터 인 경우, 그 좌석 객체 위에는 문자가 없습니다. EntityCharacter-class 인스턴스에는 좌석 개체에 대한 포인터가있어이 문자 엔티티가 일부 차량에 있는지 여부를 나타냅니다. 우리 둘 다 성격과 차량 엔티티를 통해이 소유권을 확인할 수 있습니다
EntityCharacter -> EntityVehicleSeat
EntityCharacter <- EntityVehicleSeat
이 방법 : 즉
는 EntityCharacter 클래스 인스턴스 EntityVehicleSeat에 대한 포인터와 주변의 다른 방법이있다.
포인터를 서로 가리 키도록 설정하는 것이 간단하지만 한 가지 문제가 있습니다. 다른 개체가 범위를 벗어나면 나머지 개체에 잘못된 포인터가 있습니다.
한 사람이 어떻게 이런 종류의 정교 소유권을 나타낼 수 있습니까? 다른 객체가 더 이상 존재하지 않는다는 사실을 다른 객체가 어떻게 알 수 있습니까?
소멸자에 대한 알림을 사용합니다. – Yousf
다른 객체를 알리기 위해 소멸자를 사용할 수 있습니까? –
이것은 단지 1 : 1 관계입니까? – Potatoswatter