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()를 사용한다.