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

C++ STL deque::cbegin() 함수 완벽 가이드


이 글에서는 C++ STL에서 deque::cbegin() 함수가 어떻게 동작하는지 자세히 살펴보겠습니다.

deque::cbegin() 함수란?

deque::cbegin()은 deque 헤더 파일(<deque>)에 포함된 함수로, 덱(deque) 컨테이너의 첫 번째 요소를 가리키는 반복자(iterator)를 반환합니다.

참고 − cbegin() 함수는 별도의 인자(매개변수)를 받지 않습니다.

문법

deq.cbegin();

여기서 deq는 deque 객체를 의미합니다.

반환 값

이 함수는 const_iterator를 반환합니다.

const_iterator는 덱 컨테이너의 첫 번째 요소를 가리키는 임의 접근 반복자(random access iterator)입니다. 첫 번째 요소부터 시작해 전체 컨테이너를 순회할 수 있으며, 컨테이너의 모든 값을 출력(읽기)할 수 있습니다. 다만 const_iterator이기 때문에 컨테이너 내부의 값을 수정할 수는 없습니다.

begin()과 cbegin()의 차이

begin()은 일반 iterator를 반환하므로 요소 값을 변경할 수 있지만, cbegin()은 const_iterator를 반환하기 때문에 읽기 전용으로만 동작합니다. 따라서 컨테이너를 수정할 필요 없이 단순히 순회하거나 출력만 하는 경우에는 cbegin()을 사용하는 것이 코드의 안정성 측면에서 더 권장됩니다.

예제

#include <deque>
#include <iostream>
using namespace std;
int main(){
    deque<int> dqe = { 65, 2, 31, 5, 9 }; // 덱 생성
    cout<<"덱의 첫 번째 요소: ";
    cout<<*dqe.cbegin(); // 덱의 첫 번째 요소 반환
}

실행 결과

위 코드를 실행하면 다음과 같은 출력이 생성됩니다.

덱의 첫 번째 요소: 65

코드 설명

이 코드에서는 먼저 deque의 모든 기능이 담긴 헤더 파일을 포함시킵니다. 그다음 여러 개의 값을 가진 deque를 선언하고, cbegin() 함수를 사용해 덱의 첫 번째 요소를 출력합니다. cbegin()은 컨테이너의 첫 번째 요소를 가리키는 const_iterator를 반환하며, 역참조 연산자(*)를 통해 해당 값인 65를 화면에 출력하게 됩니다.