중간에 vector<string> stooges에서 첫 번째 for문 for(auto :str :stooge) str== "Funny"를 하고 다음 for문을 돌려 stooge의 element를 확인했을 때 왜 값이 바뀌지 않은 건가요? 여기 말로는 str이 vector를 복사해서 그런 거라고 했는데 잘 이해가 가질 않아서;;


그 밑에 &str로 reference를 하면 바뀌더라고요.


원래 for문을 돌릴 때 array나 vector는 값을 복사하고 실행되는 건가요? 아니면 다른 값들도 다 마찬가지인가요?

vector를 복사하고 for문을 돌린다는 건 또 무슨 의미인가요?