내 수업에는 LastQueryInfo lastQuery
이라는 개체가 있습니다. 이 객체가 변경 될 때마다 history
이라는 벡터에 추가합니다.요소를 벡터에 추가 할 때 개체의 복사본이 만들어 지는지 확인하는 방법은 무엇입니까?
처음에 내가 history.push_back(lastQuery)
을했을 때 나는 어떤 일이 일어날 지 몰랐다. 벡터는 그 대상의 사본을 만들 것인가? 또는 그것에 대한 참조를 유지할 예정입니까? 그렇다면 나중에 lastQuery를 수정하면 히스토리 벡터에서 모든 객체 (참조가 있다고 가정)가 수정 될 예정입니까?
몇 가지 테스트를 마치면 history.push_back(lastQuery)
이 실제로 개체의 복사본을 만든 다음 벡터에 추가한다는 것을 알았습니다. 하지만 테스트를하지 않고 어떻게 알 수 있습니까? C++이 복사를 할 때와 실제 객체를 추가 할 때를 어떻게 알 수 있습니까? 항상