• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

bool의 return값에 대한 질문입니다.

21.07.17 13:21 작성 조회수 626

0

Item item = FindItem(IsWeapon);

에서 브레이크를 걸고 값을 확인 할 때,

제가 예상한 값은 true 혹은 false 중 하나일 줄 알았습니다만,   bool인 'IsWeapon'녀석이 어떻게 Weapon과 Normal 이라는 정보를 가져올 수 있는지 궁금합니다.

추가로  static이 스택이 아닌 힙에 메모리를 넣어줄 때 사용한다고 알고 있는데, 정확히 어떤 때에 사용하는지 감이 안잡힙니다..!

답변 1

답변을 작성해보세요.

0

delegate 관련된 부분에서 약간 혼동이 있으신 것 같네요.
위 부분을 보면, delegate는 여러 방식으로 응용할 수 있지만
[함수 자체를 인자로 넘겨주는] 역할로도 유용하게 사용됩니다.

Item item = FindItem(IsWeapon);
이 코드에서 IsWeapon이 FindItem(ItemSelector selector)의 selector 부분에 들어간다고 보시면 됩니다.
즉 IsWeapon은 item을 선택하는데(selector(item)) 사용되는 것이지,
IsWeapon의 결과물이 FindItem에서 반환되는 것이 아닙니다!
실제로 FindItem이 리턴하는건 return item이니 Item이 맞지만,
판별 조건 함수 자체를 우리가 인자로 넘겨줄 수 있는 것이죠.

추가적으로 static과 관련된 질문은 워낙 많이 올라와서
검색을 해보시면 다양한 케이스에 대한 설명이 나옵니다.
대표적으로 아래 링크 참고 바랍니다.

https://www.inflearn.com/questions/97965

soso03185님의 프로필

soso03185

질문자

2021.07.17

세상에 마상에,, 감사합니다