1
구문이 올바로 표시되지 않습니다. 내가 이것을 가지고 있다고합시다 ...구조체의 다중 집합을 반복합니다.
for 루프 내의 각 요소의 int bar와 string test에 어떻게 액세스합니까?
감사합니다.
구문이 올바로 표시되지 않습니다. 내가 이것을 가지고 있다고합시다 ...구조체의 다중 집합을 반복합니다.
for 루프 내의 각 요소의 int bar와 string test에 어떻게 액세스합니까?
감사합니다.
이터레이터는 포인터에 대한 안전한 C++ 추상화라는 좋은 니모닉 규칙이 있습니다.
그래서 기본적으로 당신이 역 참조 구문을 통해 요소에 액세스 : C++ 11에서
(*it).bar = 0;
it->test = "";
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;
}
일을에서 구문였다 언급에 대해 C++ 11. 어떤 경우에도 – ulidtko
'const'가 필요합니다. –
@ n.m .: C++ 03에서는 그렇게 할 것을 요구하지 않습니다. – Nawaz