Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL forward_list::cend() 함수 완벽 가이드


C++에서 forward_list::cend() 함수의 동작 방식을 살펴보겠습니다.

forward_list는 일반 리스트(list)와 달리 다음 요소와의 연결만 유지하는 컨테이너입니다. 일반 리스트는 앞뒤 요소 모두와 연결되어 있어 양방향 순회가 가능하지만, forward_list는 오직 정방향(앞쪽)으로만 순회할 수 있습니다.

forward_list::cend() 함수는 C++ 표준 템플릿 라이브러리(STL)의 일부로, 리스트의 마지막 요소 다음 위치를 가리키는 상수 반복자(const_iterator)를 얻는 데 사용됩니다.

이 함수를 호출하려면 <forward_list> 헤더 파일을 포함해야 합니다.

문법

Forward_List_Name.cend();

매개변수

이 함수는 어떠한 매개변수도 받지 않습니다.

반환 값

forward_list의 마지막 요소 다음 위치(끝을 지난 위치)를 가리키는 상수 반복자를 반환합니다. 이 반복자를 통해 참조하는 요소의 값은 수정할 수 없습니다.

예제

입력: forward_list<int> Lt={8, 9, 7};
cout<< *Lt.cend();
출력: 7

설명: 여기서는 8, 9, 7을 요소로 하는 리스트를 생성했습니다. 그런 다음 cend() 함수를 호출하여 리스트의 끝 위치를 가리키도록 했으며, 출력 결과 마지막 요소인 7이 표시됩니다.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다 −

  • 먼저 int 타입의 forward_list(예: “Lt”)를 생성하고 몇 가지 값을 할당합니다.
  • for 루프를 시작하여 리스트를 출력합니다.
  • for 루프 내부에 auto 타입의 객체 “itr”를 생성하여 cbegin() 및 cend() 함수의 반환 값을 받습니다. cbegin() 함수를 사용해 리스트의 첫 번째 요소로 “itr”를 초기화합니다.
  • cend() 함수를 활용해 “itr”가 리스트의 끝 위치와 같지 않다는 조건으로 for 루프의 종료 조건을 지정합니다.
  • *itr을 출력합니다.

알고리즘

시작
Step 1-> main() 함수 내부
    forward_list<int> Lt={} 초기화
    auto itr = Lt.cbegin(), itr != Lt.cend(), itr++ 조건으로 루프 반복
    *itr 출력
    루프 종료
정지

예제 코드

#include<iostream>
#include<list>
using namespace std;
int main() {
    forward_list<int> Lt = { 9,55,6,100 };
    // 리스트의 요소들을 출력합니다.
    cout <<"리스트의 요소들은 : " << "\n";
    for (auto itr = Lt.cbegin(); itr != Lt.cend(); itr++)
    cout << *itr << " ";
    return 0;
}

출력

위 코드를 실행하면 다음과 같은 결과가 생성됩니다 −

9 55 6 100