array::back
array::back (마지막 원소 접근하기)
컨테이너의 마지막 원소에 대한 참조를 반환하는 멤버 함수예요. std::array 멤버이며 상수 시간에 동작해요. C++11부터 있어요.
출처: cppreference
본문
back()은 마지막 원소를 참조로 돌려줘요.
reference back(); // (1)
const_reference back() const; // (2)
주의할 점이 있어요. empty()가 참이라면:
- C++26 이전: 동작이 미정의예요.
- C++26 이후: 구현이 하드닝(hardened)되어 있으면 계약 위반(contract violation)이 발생하고, 아니면 여전히 미정의 동작이에요.
반환 값은 마지막 원소에 대한 참조이고, 복잡도는 상수 시간이에요.
비어 있지 않은 컨테이너 c에 대해 c.back()은 *std::prev(c.end())와 동등한 표현이에요. 즉 "마지막 원소"라는 의미를 반복자 연산으로도 똑같이 얻을 수 있죠.
예를 들어 문자 배열에서 마지막 값을 확인해볼게요.
#include <cassert>
#include <array>
int main()
{
std::array<char, 4> letters{'a', 'b', 'c', 'd'};
assert(letters.back() == 'd');
}
front()가 첫 원소를 돌려준다면, back()은 꼬리 쪽 원소를 편하게 꺼낼 때 써요.