배열 인덱스 범위를 벗어남-C++Forum
벡터에는 많은 좋은 것들이 있습니다.
그 c++배열을 사용하는 경우,표준 적용되는 컴파일이 있어야합니다,잘 알려진 크기에서 컴파일 시간(할 수 없는 변수만을 컴파일할 때 알려진 값은 다음과 같 enum,const int,문자 그대로 번호,etc.)당신은 항상 당신의 배열의 크기를 알아야하고 이것 때문에 그것에 경계가 부족하지 않아야합니다. 하는 동안 그래서 당신은 벡터에서 일반적으로,당신은 것입니다 때로는 상속 코드 어레이 또는 거래 C 파일을 컴파일하거나,다음과 같다,그래서 당신이 알아야 할 기본입니다. 일반적으로 크기는 안전하게 유지하기 위해 루핑 할 때 사용할 수있는 이름을 가진 enum 또는 const 어딘가에 있습니다. 어떤 이유로 든 배열을 사용하는 경우이 아이디어를 사용하면 대부분의 범위를 벗어난 문제를 피할 수 있습니다. 다른 문제에 일어날 수 있는 벡터도-을 계산하는 인덱스 goofed 지만,벡터를 제공하기 위해 당신에게 도구를 확인하는 동안 이것을 배열이 적게 처리하는 옵션입니다.
c++는 고성능 언어입니다. 그것은 일반적으로 무대 뒤에서 불필요한 작업을하지 않습니다,당신은 당신이 그것을 원한다면 그렇게해야합니다. 그래서 경계 검사를 원한다면 그렇게 할 코드가 필요합니다. 그건 그렇고,너무 벡터에 경계 밖으로 갈 수 있습니다.
벡터<int>duh={1,2,3};
cout<duh;//범위를 벗어났습니다. 충돌,가장 가능성이 높습니다.
그 벡터가 엉망이 될 때 경계 또는’더 안전한’것을 확인하는 것은 아닙니다. 자체 관리 크기 변수가 있으므로 코드를 신중하게 작성하는 경우 엉망이 더 어려워 야합니다.
Leave a Reply