iterator의 begin, end, insert, erase함수에서 iterator를 반환할 때 일어나는 현상이 궁금합니다
233
14 asked
반환할 때
return iterator(node) 이런식인데
이러면 임시객체를 생성해서 리턴하니까
return 하고 나서 사라지지 않을까요???
예상은 해봤는데
list가 iterator를 하나만 가지기 위함이라고 생각해봤습니다.
new를 써서 동적할당으로 하면 함수를 호출할때마다 iterator가 늘어나니까 그럴 수 있다고 생각했는데
만약 맞다면
임시객체를 리턴할 때 어떤 현상이 일어나는지 알고 싶습니다
Answer 1
1
그렇지 않구요. new를 매 번 하면 성능이 뚝뚝 떨어지겠죠.
iterator는 임시객체 생성하고, 추후 삭제되는 것도 맞지만
삭제되어도 아무런 상관이 없는 껍데기입니다.
iterator 내부에 포인터를 들고 있는 것이기 때문이죠.
즉 Iterator는 복사해서 데이터만 전달해주면 끝이고,
그 객체가 소멸되는 것은 딱히 상관 없습니다.
Mockup 이미지 만들기에 대해 질문이 있습니다.
1
28
2
프로젝트 상황설명, 레거시 개선 관련 질문드립니다!
1
28
2
Github 권한요청 부탁드립니다
0
25
2
이력서 내용 구성 관련 질문 있습니다.
1
41
2
SP를 아직도 사용하나요?
0
36
2
실무에서 진행한 쿼리 개선 사례 공유 관련 질문드립니다
1
48
2
회사의 시스템 아키텍처를 포트폴리오에 써도 되나요?
1
73
2
Replace함수 질문
0
88
2
A*, 다익스트라, Bfs차이 질문
0
176
2
closed list를 비교하는 부분이 궁금합니다.
0
119
1
부모가 2개 이상일경우 질문
0
177
2
sort함수 쓰려면 알고르즘헤더를 추가해야하는거 아닌가요?
0
187
2
빅오 표기법 2단계
0
333
1
list의 insert, erase에서 매개변수는 왜 iterator를 복사형으로 받나요?
0
294
1
Pop()함수에서 레퍼런스를 반환하지 않는 이유가 궁금합니다
0
393
3
언리얼 part.4 는 안나오나요?
0
449
1
재귀함수 질문
0
469
1
클레스 템플릿 헤더파일 분리시 주의 사항이 있나요?
0
570
3
Pos operator< 어디서 사용하나요?
0
521
2
Disjoint Set 클래스 수정해도 괜찮나요?
0
475
1
A*알고리즘 작성과정에서 블록 안에서 초기화를 한 이유가 궁금합니다.
0
597
1
1강에서의 List와 자료구조편에서의 List의 차이가 뭘까요?
0
605
1
이진 탐색 트리 삭제 질문
0
708
1
해당 문제 유형을 수학적으로 표현 가능할까요?
0
516
1

