[C26817] 범위 for 루프 auto

범위 for 루프에서 잠재적으로 비용이 많이 드는 변수 이름 복사본입니다. 이를 const 참조 (es. 71)로 설정 하는 것이 좋습니다.

C++의 범위 기반 for 문에서 auto 키워드를 사용할 때 발생하는 경고이다. 기본적으로 루프 변수를 참조형으로 사용하지 않으면 값 복사가 일어나므로, 개별 자료형의 용량이 큰 컨테이너에서는 복사에 시간이 많이 걸릴 수 있다.

std::vector<pair<MyType, MyType2> > test;
for (auto t: test) {
	// ...
}

이 경우, auto 키워드 대신 const auto& 형을 사용하여 복사에 드는 비용을 없앨 수 있다.

std::vector<pair<MyType, MyType2> > test;
for (const auto& t: test) {
	// ...
}