2012-03-22 1 views

답변

2

이터레이터는 포인터에 대한 안전한 C++ 추상화라는 좋은 니모닉 규칙이 있습니다.

그래서 기본적으로 당신이 역 참조 구문을 통해 요소에 액세스 : C++ 11에서

(*it).bar = 0; 
it->test = ""; 
2
for (it = fooset.begin(); it != fooset.end(); it++) 
{ 
     foo const & f = *it; //const is needed if it is C++11 
     //use f, e.g 
     std:: cout << f.bar <<", " << f.test << std::endl; 
} 

대신이 작업을 수행 할 수 있습니다 :

for(foo const & f : fooset) 
{ 
     //use f, e.g 
     std:: cout << f.bar <<", " << f.test << std::endl; 
} 
+1

일을에서 구문였다 언급에 대해 C++ 11. 어떤 경우에도 – ulidtko

+0

'const'가 필요합니다. –

+0

@ n.m .: C++ 03에서는 그렇게 할 것을 요구하지 않습니다. – Nawaz

관련 문제