deque::at

deque::at (범위 검사와 함께 원소 접근)

지정한 위치의 원소 참조를 반환하되, 경계 검사를 수행하는 멤버 함수예요. <deque> 헤더에 있어요.

출처: cppreference

본문

atpos 위치의 원소 참조를 돌려주는데, operator[]와 달리 반드시 범위를 검사해요.

reference at( size_type pos );            // (1)

const_reference at( size_type pos ) const;   // (2)

위치 pos가 컨테이너 범위 안에 없으면 std::out_of_range 타입의 예외가 던져져요.

  • 매개변수 pos: 반환할 원소의 위치.
  • 반환 값: 요청한 원소에 대한 참조.
  • 예외: pos >= size()이면 std::out_of_range.
  • 복잡도: 상수 시간.
std::deque<int> d{10, 20, 30};
int x = d.at(1);       // 20
d.at(5);               // out_of_range 예외

조건부로 안전한 접근이 필요할 땐 at을, 성능이 최우선이고 범위를 보장할 수 있을 땐 operator[]를 쓰는 게 일반적이에요.

더 알아보기 (Learn more)

cppreference