inflearn logo
Course

Course

Instructor

coconut's Posts

coconut coconut

@coconut

Reviews Written
2
Average Rating
5.0

Posts 3

Q&A

for (auto &element : v) 에서 & 를 붙이는 이유가 뭔가요??

vector v = {1, 2, 3, 4, 5}; for(auto & element : v) 를 사용하면 벡터 v 로 부터 element에 v[0] ... v[4] 의 레퍼런스들이 전달됩니다. 그 의미는 v[0]에 해당하는 1 이라는 값을 따로 복사하지 않아도 됩니다. 그리고 레퍼런스로 받았기 때문에, 위의 코드에서 cout for(auto element : v) 를 사용하면 벡터 v 로 부터 element에 v[0]의 1이라는 값이 복사되어 전달됩니다. cout 결론은 int 기본 자료형 같은 경우는 위 두 경우의 차이가 미미 할 수 있으나, 내부적으로 map, vector 등을 포함한 클래스라면 값에 의한 전달(복사)이 매우 비효율적이기에 교수님께서 효율적인 코딩(참조, 포인터) 습관 형성을 위해 붙이지 않았나 싶습니다.

Likes
0
Comments
4
Viewcount
450