0
아래의 두 코드 스 니펫이 다른 결과를 갖는 이유는 무엇입니까? 정수의 벡터 인 자리수 앞에 1을 더하고 싶습니다. 그러나 두 번째 스 니펫은 제대로 바뀌지 않습니다.이 스왑 방식이 작동하지 않는 이유는 무엇입니까?
int tmpInt(1);
for (int i=0; i<digits.size(); i++){
swap(tmpInt, digits[i]);
}
digits.push_back(tmpInt);
대 그래서
int tmpInt(1);
for (auto it : digits){
swap(tmpInt, it);
}
digits.push_back(tmpInt);
수사적 :
은 첫 번째 예와 동등한 결과를 얻기 위해, 기준을 사용해야'INT X = 6; int y = x; y = 4; // 왜 x가 여전히 4 대신에 6입니까? – immibis
"it"은 반복자가 아니므로 이름을 변경하려고한다고 생각합니다. –