C++ 메모장

컨테이너 멤버 함수

lgbl 2025. 2. 24. 10:15

이후 추가될 수 있음

  • front, back
더보기

front는 컨테이너의 첫 번째, back은 컨테이너의 마지막 요소에 대한 참조를 반환한다

vector<int> numbers = {10, 20, 30, 40};
int first = numbers.front();  // 첫 번째 요소: 10
int last = numbers.back();  // 마지막 요소: 40

 

컨테이너가 비어 있으면 동작이 정의되지 않아 사용 전에 비어있지 않은지 확인해야한다.

if (!numbers.empty()) 
{
    int first = numbers.front();
    int last = numbers.back();
}
  • begin, end
더보기

begin은 컨테이너의 첫 요소를, end는 컨테이너의 마지막 요소의 다음 위치를 가리키는 반복자를 반환한다.

vector<int> numbers = {10, 20, 30};
auto it = numbers.begin();  // 첫 번째 요소 (10)를 가리키는 반복자
auto itEnd = numbers.end();  // 마지막 요소 다음을 가리키는 반복자
itEnd--;                     // 마지막 요소로 이동
cout << *it << " , " << *itEnd << endl;        // 출력: 10 , 30

요소로 이동 하려면 *를 붙여줘야한다.

 

반복자를 반환함으로 순회를 이용한 코드 작성에 간편하다

#include <iostream>
#include <vector>
using namespace std;

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

    // 반복자를 이용한 순회
    for (auto it = data.begin(); it != data.end(); ++it) 
    {
        cout << *it << " ";  // 요소 출력(1 2 3 4 5)
    }
    return 0;
}
  • front, back / begin, end
더보기

이 함수들은 서로 비슷하지만 확실히 다른 부분이 있다.

함수 반환값 주 용도
begin() 첫 번 요소를 가리키는 반복자 컨테이너 순회 시작 지점 설정
end() 마지막 요소의 다음 위치를 가리키는 반복자 컨테이너 순회 종료 지점 설정
front() 첫 번째 요소에 대한 참조 첫 번째 요소에 직접 접근
back() 마지막 요소에 대한 참조 마지막 요소에 직접 접근

컨테이너를 순회하려면 begin(), end()를 사용하고 첫번째, 마지막 요소에 직접 접근할 때 front(), end()를 사용한다.