2011-04-08 4 views

답변

56

- D_GLIBCXX_DEBUG을 사용하여 컴파일하여 런타임 반복기 및 범위 검사를 활성화 할 수 있습니다. 또한 랜덤 액세스 컨테이너는 operator [] 외에도 항상 경계 검사 인 at()을 제공합니다.

참고 :

GCC STL 디버그 모드 :() 작업에서 http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode_using.html#debug_mode.using.mode

: std::vector::at(), std::deque::at()

+0

설명서를 가르 칠 수 있습니까? 감사. – pic11

+0

http://www.cppreference.com/wiki/container/vector/at –

+0

@ pic11 : 완료; @JBJ 감사합니다 :) –

1

std::array::at() 당신이 특정 클래스에 대한 operator[]에 과부하를해야한다. 기존 STL 컨테이너를 사용하려는 경우 at() 함수는 범위 검사 버전 인 operator[].