cout << iter->name
기존 for문
for (vector<Student_info>::size_type i = 0;
i != students.size(); ++i)
cout << students[i].name << endl;
iterator 사용
for (vector<Student_info>::const_iterator iter = students.begin();
iter != students.end(); ++iter) {
cout << (*iter).name << endl;
}
iterator 역시 컨테이너 값을 변경하지 않을 때는 const 키워드를 붙인다.
iterator 은 const_iterator로 자동변환되지만 그 반대는 그렇지 않다.
cout << (*iter).name
*iter는 iter이 나타내는 value를 반환한다.
.의 우선순위가 *보다 높기 때문에 *iter을 괄호로 감싸야 한다.
cout <<iter->name
위 코드는 (*iter).name과 같은 의미로 사용할 수 있다.
'C++' 카테고리의 다른 글
| [C++] 후위연산자 (0) | 2021.12.19 |
|---|---|
| [C++] vector vs list (0) | 2021.12.19 |
| [C++] 헤더파일 (0) | 2021.12.18 |
| [C++] Call by Value ,Call by Address, Call by Reference (0) | 2021.12.18 |
| [C++] typedef (0) | 2021.12.17 |