inflearn logo
강의

Course

Instructor

[MMORPG Game Development with C++ and Unreal Engine Series] Part 3: Data Structures and Algorithms

Map Creation

학습에 크게 지장이 있는건 아니지만 단순 궁금해서 질문드립니다

324

sshero3369

16 asked

0

Maze.cpp에서 player.Init(&board)를 할 때 Player class 안에 멤버 변수 _board에는 nullptr이 들어 있잖아요 그런데 Player.cpp에서 Init 함수 내에 _pos = _board->GetEnterPos( ) 를 호출 할 때 _board에는 nullptr이 들어있는데 어떻게 GetEnterPos( ) 를 호출 할 수 있는건가요?

제 생각으로는 _board = board로 먼저 _board를 특정 주소값으로 세팅한 다음 GetEnterPos( ) 함수를 호출해야 되는 것 같은데 순서를 뒤바꿔서 해도 실행하는데 전혀 문제가 없더라구요 그 이유가 궁금합니다!

기술면접

Answer 1

1

Rookiss

제 코드에서는 board->GetEnterPos()로 한 것인데요.

_board->GetEnterPos()로 바꾸고
_board = board를 뒤로 배치하면 크래시가 나야 정상입니다.

어떻게 테스트를 하셨는지 기묘하네요

0

sshero3369

그렇네요... 발단은 제가 본문에서 board->GetEnterPos()를 하신 거를 잘못보고 _board->GetEnterPos()로 잘못 쳐놓고 되길래 그런가보다 하고 넘어갔다가 다시 보니 이상해서 한 질문이었는데 다시 확인해보니

이게 되네요....?? 아무래도 컴파일러가 그냥 잡아주는걸로 이해하면 될까요?? 별 것도 아닌거에 괜히 시간만 뺐는 질문 같아서 안하려다가 혹시 제가 알고 있는게 잘못된건가 싶어서 확인해보고 싶었습니다ㅠㅠ

1

Rookiss

GetEnterPos()가 return Pos{1,1}에 불과하니 인라인 처리되어서
실제로 Pos{1,1}로 박혀서 그럴 것 같네요. GetExitPos()처럼 실제 멤버 변수를 사용하는 애로
바꿔보면 바로 크래시가 날겁니다.

헤더파일에 관한 질문

0

437

1

이진 탐색 트리 삭제 질문

0

700

1

해당 문제 유형을 수학적으로 표현 가능할까요?

0

505

1

vs2022 미로 줄간격

0

1589

2

pos 구조체 초기화 문제

0

498

0

맵이 이상하게 나오는데 무슨 문제인가요?

0

513

1

자동완성 기능 질문

1

521

2

push_back emplace_back 질문있습니다.

0

397

1

Container, Predicate 질문입니다.

0

395

1

_size - 2 질문

0

417

1

Disjoint Set 질문있습니다

0

429

1

우선순위 큐 구현 연습 intellisense 질문

0

401

1

int32 관련 질문

0

278

1

c++에서 처음 보는 문법

0

385

1

힙 정렬과 병합 정렬

0

424

1

resize 질문

0

261

1

처음 보는 for문 문법

0

387

1

환경 설정.. 궁금점

0

388

1

이 비교 연산자를 넣어주는 이유가 있나요?

0

287

1

소멸자 관련 질문

0

250

1

&의 차이

0

290

1

프레임 관리 질문입니다.

0

332

1

연산자 오버로딩 관련 질문입니다.

1

203

1

안녕하세요 goormide 학습자입니다.

0

861

4