Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

Code Habit

[c++] 범위 기반 for문 (Range-based for Loop) 본문

카테고리 없음

[c++] 범위 기반 for문 (Range-based for Loop)

코드베어 2024. 2. 3. 12:10

범위 기반 for 문은 c++11 부터 도입된 문법으로 컨테이너의 모든 요소를 순회하기 위한 보다 간결하고 읽기 쉬운 방법을 제공한다. 이 구문은 Java의 enhanced for loop과 Python의 for-in loop과 비슷하다. Range-based for Loop은 컨테이너의 시작부터 끝까지 모든 요소를 순회하며 auto를 사용하여 각 요소에 대한 접근을 단순화 한다. 

 

std::map<int, string> employee_map;

employee_map[0] = "Kane";
employee_map[1] = "Jane"
employee_map[2] = "Karr";

for (const auto& pair : employee_map)
{
    auto& no = pair.first;		// key 접근
    auto& name = pair.second;	// value 접근
    
    std::cout << no << "_" << name << std::endl;
}

 

간단하게 map 데이터를 순회하며 키(first)와 값(second)에 접근하며 출력하는 예제이다. 값을 참조(&)로 접근하여 name 값을 변경하면 원본 데이터도 변경된다. =