22.01.19 17:04 작성
·
165
0
MoveTask task;
task._playerId = 100;
task._posX = 5;
task._posY - 0;
//나중에 여유 될때 일을 실행한다.
task();
라고 예시를 들어주셨는데
마지막에 task가 아닌
task.Move() 함수를 이렇게 호출 시켜주는거랑
오버로딩한 task()를 실행시켜주는거랑
어셈블리어로 봐도 동일하게 동작하는데
나중에 여유 될때 일을 실행한다.
라는 주석을 달면서 task를 실행하셨는데
그냥 저런 상황일때 함수 객체를 사용한다는걸 설명하기 위함이었는지..
예시로 드신문법 자체도
기다렸다 일을 실행한다는 느낌으로 실행이되는건지...
궁금합니다 !
그냥 넘어가도 된다 하셔서 웬만하면 그냥 넘어가려고했는데 진짜 뭔지 감도 안잡혀서 질문남깁니다...
답변 1
0
2022. 01. 20. 21:24
//나중에 여유 될때 일을 실행한다.
주석에서 정말 다른 일을 하게 됩니다.
특히 서버라면 이런 패턴이 다양하게 존재할 수 있는데요.
유저가 입장을 요청해서 입장시켜야 하지만,
먼저 DB의 정보를 다 긁을 때까진 입장을 지연시켜야 한다거나
뭐 그런 타이밍 이슈가 빈번하게 등장합니다.