그래서이 답변을 검색했으며 관련 정보를 많이 찾았지만 정확하게 대답하지 않았습니다.순환 종속성을 해결하기 위해 구성원 개체를 포인터로 변경하십시오.
가능한 경우 실제 개체를 대신 사용하는 개체에 대한 포인터를 사용할 때 많은 조언을 보았습니다. 가능할 때마다 .h 파일을 .h 파일에 포함시키지 말라는 순환 종속성에 대한 조언을 보았습니다. 클래스의 객체 멤버를 객체의 포인터로 전환하여 많은 코드를 순환 종속성 측면에서 수정했습니다. 나는 많은 조언자들과 겉으로보기에 많은 포인터 멤버들로 끝난다.
제 질문은 원형 종속성을 해결하기 위해 모든 객체 멤버를 포인터로 전환하는 것이 좋지 않습니까? 또는 그것은 나의 수업의 나쁜 구조화를 의미하며 재 설계가 필요합니까? 아니면 좀 더 정확하게 말하면, 포인터에 객체 멤버를 변경하는 것을 순환 의존성으로 정당화 할 수 있습니까? 아니면 각 경우에 너무 구체적으로 내려갈 수 있습니까?
내가 경험있는 프로그래머가 아니기 때문에 이것이 의미가 없으면 사과드립니다.
덕분에
'std :: weak_ptr' 사용을 고려 했습니까? 포인터 순환 의존성을 피하기 위해'std :: weak_ptr'을 사용하는 방법에 대한 많은 정보가 있습니다. –