inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘

문법 관련 질문

해결된 질문

134

움직이는YM

작성한 질문수 86

0

iterator 부분에서
iterator erase(iterator it)
{ Node<T>* node = RemoveNode(it._node);
return iterator(node); }


return iterator(node);
이 부분이 헷갈립니다
iterator ( ) 이게 뭔가 문법적으로 뜻이 있었는데 기억이 잘 나지 않습니다. 형변환으로 쓰신 건가요?
형변환이 맞다면 형변환을 통해 노드의 주소를 가리키고 있는 포인터를 반환해준다고 생각하면 되는 것인가요?



예를 들어
class Knight
{
}
Knight 클래스가 있을시
Knight A;
Knight A(3,5);(생성자가 정의되어 있을 시)
하면 Knight의 객체 A를 찍는 것이지만
Knight(A)하면 무슨 뜻인가요?

기술면접

답변 1

1

Rookiss

Knight A(3,5);와 비슷하게 Knight(3,5)로 바로 만들어준 것이고 참고로 Knight(A)가 아닙니다.
어셈으로 까보면 Knight A(3,5)와 Knight(3,5) 둘이 하는 일은 다르지도 않고
다만 A로 해당 객체를 다시 접근할 수 있는지의 차이가 생깁니다.
즉 Knight 생성자를 호출해서 객체를 만들어주는 것도 동일합니다.
이 부분은 breakpoint를 f11로 타고 들어가보시면 됩니다.

0

움직이는YM

객체 생성을 해주신 거군요

답변 감사합니다!

헤더파일에 관한 질문

0

449

1

이진 탐색 트리 삭제 질문

0

720

1

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

0

523

1

vs2022 미로 줄간격

0

1603

2

pos 구조체 초기화 문제

0

507

0

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

0

523

1

자동완성 기능 질문

1

534

2

push_back emplace_back 질문있습니다.

0

407

1

Container, Predicate 질문입니다.

0

410

1

_size - 2 질문

0

428

1

Disjoint Set 질문있습니다

0

444

1

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

0

409

1

int32 관련 질문

0

282

1

c++에서 처음 보는 문법

0

396

1

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

0

333

1

힙 정렬과 병합 정렬

0

435

1

resize 질문

0

269

1

처음 보는 for문 문법

0

399

1

환경 설정.. 궁금점

0

398

1

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

0

294

1

소멸자 관련 질문

0

257

1

&의 차이

0

295

1

프레임 관리 질문입니다.

0

342

1

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

1

213

1