는 반복하는 벡터라고하고, 나는 두 가지 방법으로 그것을 할 수, 벡터의 일부 항목에 대한 작업을하고 싶지 않아 : 이것은는
내가 선호하는 사람은 사용하기 :
vector<int> vec;
void loopFunction(int toIgnore) {
for (size_t index = 0; index < vec.size(); index++) {
if (vec[index] != toIgnore) {
// do stuff
}
}
}
내가 최종 결과에서 알 전혀 차이가 없습니다 :
vector<int> vec;
void loopFunction(int toIgnore) {
for (size_t index = 0; index < vec.size(); index++) {
if (vec[index] == toIgnore) continue;
// do stuff
}
}
이 나는 대부분의 사람들이 사용하는 참조입니다. 그러나 두 번째 방법이 실행 범위를 새로 열었으므로 후드에서 어떤 차이가 있습니까? 이 두 가지 중 어떤 것이 다른 것보다 선호됩니까?
덕분에 내 댓글에 명시된 바와 같이
필자는 가능한 한 많은 스코프를 포함시키지 않으려 고 노력 했으므로 루프 내 모든 것이 같은 레벨에 있도록'continue'를 사용하여 첫 번째 예제로 갈 수있었습니다. 그래도 모든 취향에 대해. 어느 쪽이든 성능에 이점이 있습니다. 내가 아는 한 –
나는 또한 그것을하는 첫 번째 방법을 선호합니다. 내 코드에서도 중첩 된 범위를 좋아하지 않습니다. 그러나 새 범위를 추가하면 오버 헤드가 추가되는지 여부가 결정됩니까? 대형 루프일지도 모릅니다. – Everyone