3. std::forward_list를 이용하여 같은 작업을 수행하고, 벡터 사용 방법과의 차이점을 살펴보겠습니다.

        std::forward_list<std::string> fwd(vec.begin(), vec.end());
        
        auto it1 = fwd.begin();
        std::cout << "가장 최근 우승자: " << *it1 << std::endl;
        
        advance(it1, 5); // 선형 시간
        std::cout << "5년 전 우승자: " << *it1 << std::endl;
        
        // std::forward_list는 순방향으로만 이동할 수 있으므로
        // 아래 코드는 에러가 발생합니다.
        // advance(it1, -2);
    }
    

      4. 위 예제 코드를 실행하면 다음과 같은 출력이 나타납니다.

    가장 최근 우승자: Lewis Hamilton
    8년 전 우승자: Fernando Alonso
    그후 3년 뒤 우승자: Sebastian Vettel
    가장 최근 우승자: Lewis Hamilton
    5년 전 우승자: Sebastian Vettel

      5. 만약 다음 코드처럼 std::forward_list 반복자에서 숫자 값을 더하면 어떻게 될까요?

    it1 += 2;
    

    이 경우 다음과 같은 에러 메시지가 나타납니다.

    no match for 'operator+=' (operand types are std::_Fwd_list_iterator<int>' and 'int')
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.