질문이있습니다.
227
작성자 없음
작성한 질문수 0
질문1.
c++ 강의를 들을때 this가 자기 자신이라서,
자기자신의 주소를 반환할때 *this로 가능했는데
Iterator의 연산자 오버로딩++을 구현하실 때
return _node와
return *this는 동일한 기능인가요?
질문2.
연산자 오버로딩 ++it을 할때
Iterator& operator++()은 위치오른쪽에++이 되는 것아닌가요?
연산자를 앞에 위치할 때는 전역으로 빼서 구현을 한 것같아서 질문드립니다.
답변 1
1
1.
this는 Iterator<T>타입의 포인터 (현재 객체의 주소)이구요.
*this는 주소라기 보다는, 해당 포인터를 역참조한 것이라고 생각하시면 됩니다.
이해를 돕기 위해 Iterator<T>* this; 라는 가상의 변수로 생각하면
*this 는 Iterator<T> 타입이 되는 것이고,
Iterator<T>& a = *this; 이렇게 하면 참조값 (내부적으로 주소)이 되겠지만
Iterator<T> b = *this; 이렇게 하면 복사가 되겠죠.
2.
좋은 질문이지만, 프로그래머는 어지간한 지식은 혼자 찾아내야 합니다.
구글에 operator++()를 검색해서 스스로 답을 찾으시기 바랍니다.
(1분 내로 결과를 얻으실 수 있을거에요)
헤더파일에 관한 질문
0
449
1
이진 탐색 트리 삭제 질문
0
719
1
해당 문제 유형을 수학적으로 표현 가능할까요?
0
521
1
vs2022 미로 줄간격
0
1603
2
pos 구조체 초기화 문제
0
507
0
맵이 이상하게 나오는데 무슨 문제인가요?
0
523
1
자동완성 기능 질문
1
533
2
push_back emplace_back 질문있습니다.
0
407
1
Container, Predicate 질문입니다.
0
408
1
_size - 2 질문
0
427
1
Disjoint Set 질문있습니다
0
443
1
우선순위 큐 구현 연습 intellisense 질문
0
408
1
int32 관련 질문
0
282
1
c++에서 처음 보는 문법
0
396
1
학습에 크게 지장이 있는건 아니지만 단순 궁금해서 질문드립니다
0
333
1
힙 정렬과 병합 정렬
0
434
1
resize 질문
0
269
1
처음 보는 for문 문법
0
399
1
환경 설정.. 궁금점
0
396
1
이 비교 연산자를 넣어주는 이유가 있나요?
0
294
1
소멸자 관련 질문
0
257
1
&의 차이
0
295
1
프레임 관리 질문입니다.
0
342
1
연산자 오버로딩 관련 질문입니다.
1
213
1





