inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

연결 리스트 구현 연습

iterator의 begin, end, insert, erase함수에서 iterator를 반환할 때 일어나는 현상이 궁금합니다

227

JM

작성한 질문수 14

0

반환할 때

return iterator(node) 이런식인데

이러면 임시객체를 생성해서 리턴하니까

return 하고 나서 사라지지 않을까요???

 

예상은 해봤는데

list가 iterator를 하나만 가지기 위함이라고 생각해봤습니다.

new를 써서 동적할당으로 하면 함수를 호출할때마다 iterator가 늘어나니까 그럴 수 있다고 생각했는데

만약 맞다면

임시객체를 리턴할 때 어떤 현상이 일어나는지 알고 싶습니다

기술면접

답변 1

1

Rookiss

그렇지 않구요. new를 매 번 하면 성능이 뚝뚝 떨어지겠죠.
iterator는 임시객체 생성하고, 추후 삭제되는 것도 맞지만
삭제되어도 아무런 상관이 없는 껍데기입니다.

iterator 내부에 포인터를 들고 있는 것이기 때문이죠.
즉 Iterator는 복사해서 데이터만 전달해주면 끝이고,
그 객체가 소멸되는 것은 딱히 상관 없습니다.

네트워크 전체 흐름 복습 질문

0

9

1

프로필 사진 세팅과 관련하여 질문 드립니다

1

20

2

시스템 엔지니어 관련 질문입니다.

0

36

2

구글 폼 작성 완료!

1

29

1

개발과 연관없는 경력 기입 여부

1

83

2

이직 준비 방향에 대한 조언을 구하고 싶습니다.

1

72

2

이력서 구성에 대한 질문드립니다.

1

77

2

Replace함수 질문

0

82

2

A*, 다익스트라, Bfs차이 질문

0

171

2

closed list를 비교하는 부분이 궁금합니다.

0

118

1

부모가 2개 이상일경우 질문

0

172

2

sort함수 쓰려면 알고르즘헤더를 추가해야하는거 아닌가요?

0

187

2

빅오 표기법 2단계

0

328

1

list의 insert, erase에서 매개변수는 왜 iterator를 복사형으로 받나요?

0

290

1

Pop()함수에서 레퍼런스를 반환하지 않는 이유가 궁금합니다

0

386

3

언리얼 part.4 는 안나오나요?

0

448

1

재귀함수 질문

0

464

1

클레스 템플릿 헤더파일 분리시 주의 사항이 있나요?

0

563

3

Pos operator< 어디서 사용하나요?

0

518

2

Disjoint Set 클래스 수정해도 괜찮나요?

0

468

1

A*알고리즘 작성과정에서 블록 안에서 초기화를 한 이유가 궁금합니다.

0

592

1

1강에서의 List와 자료구조편에서의 List의 차이가 뭘까요?

0

596

1

이진 탐색 트리 삭제 질문

0

700

1

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

0

505

1