프로그래밍 언어/C++

[게임 프로그래머 입문 올인원] C++11 (Modern C++) 2 : range-based for(69강)

순정법사 2024.02.22

A. Modern C++

2.  range-based for  루프

a. range-based for란?

🌟 컨테이너나 배열과 같은 시퀀스 데이터 구조를 순회할 때 사용하는 반복문

 

데이터를 추가, 삭제하는건 어려움

반복자나 인덱스를 명시적으로 다루는 번거로움을 줄이고 코드의 가독성을 높임

 

📘 문법

for (변수의 타입 변수명 : 컨테이너 또는 배열) {
    // 반복 실행될 코드
}

//변수의 타입은 컨테이너나 배열의 요소 타입과 일치
//코드 블록 내부에서 변수명은 각 요소에 대한 참조, 
// 변수명은 루프 내에서 사용되며, 각 요소에 대한 작업을 수행하는 데 사용

⏳ 예제

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};

    // 벡터를 순회하며 각 요소를 출력
    for (auto& num : numbers) {	//range-based for 루프부분
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

 

3번째 방식이 범위기반 for / 간단한 방법이다

 

b. 데이터 변경하기

참조값 붙이는걸 꼭 기억해야 함

 

c. 범위기반 for문 구현하기

이렇게만 만들어놓으면 실행되지 않음
이유는 사실 위 문법은 이것과 동일함

 

기본 문법들만 구현하면 실행된다

 

1) 기본 반복자 생성

 

iterator 총 코드

 

2) 인벤토리에 반복자 넣어주기

 

 

3) 실행 

 

 

 

 


출처 : https://www.inflearn.com/course/%EA%B2%8C%EC%9E%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8-%EC%9E%85%EB%AC%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-rookiss#curriculum

 

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버 -

어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로 게임 프

www.inflearn.com