C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[22042] c++에서 다음 4가지의 차이점이 뭔지 알고 싶습니다.
즈티브삽스 [horudoga] 4675 읽음    2012-10-28 08:11
각 variable i는 컨테이너 안의 요소를 훑기 위한 목적에서 선언되는데, 그 선언 방식이나 유형에 차이가 있어서 그 차이점이 뭔지 알고 싶습니다.

늘 답변을 달아주시는 분들께 고마운 마음을 전합니다.


1번) string::size_type i


2번)
template <typename ForwardIterator>
ForwardIterator maximum_iterator(ForwardIterator first, ForwardIterator last)
{
   ForwardIterator i = first;
}


3번)
template <typename Sequence, typename UnaryFunction>
Sequence mapf(Sequence c, UnaryFunction f)
{
   typename Sequence::iterator i;
}


4번)
for(vector<int::size_type i = 0; i < v.size(); i++)
{
  ....
}


1번의 경우 string을 for-loop로 훑기 위해 size_type 앞에 string::을 붙였다는건 이해가 되고.
2번의 경우 iterator니까, i의 유형이 iterator 인 것도 이해가 됩니다.
그런데 3번의 경우, 똑같이 컨테이너를 훑을 iterator를 선언했는데 왜 앞에 2번과는 달리 "typename Sequence::"가 붙어야 하는지 이해가 어렵습니다.
그리고 4번의 경우, vector라는 컨테이너를 훑기 위함인데 왜 iterator가 아니라 일반 변수를 선언했는지 궁금합니다. vector에 iterator를쓰는건 별로 안좋은가요?

+ -

관련 글 리스트
22042 c++에서 다음 4가지의 차이점이 뭔지 알고 싶습니다. 즈티브삽스 4675 2012/10/28
22044     Re:c++에서 다음 4가지의 차이점이 뭔지 알고 싶습니다. 빌더(TWx) 5283 2012/10/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.