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