
해시맵 복사 후 원본 해시맵의 요소를 변경하면 복사된 해시맵도 변경되는 이유는, hash_copy 함수가 해시맵의 참조를 복사하기 때문입니다.
해시맵의 요소는 참조 타입이기 때문에, 복사된 해시맵은 원본 해시맵의 요소를 참조하기 때문에 원본 해시맵의 요소를 변경하면 복사된 해시맵도 변경됩니다.
이를 방지하는 방법은, 해시맵의 요소를 복사하여 새로운 요소를 생성하는 것입니다.
해시맵의 요소를 복사하는 방법은, 해시맵의 키와 값을 각각 따로 복사하여 새로운 요소를 생성하는 것입니다.
예를 들어, 해시맵에 키가 "key"이고 값이 "value"인 요소를 복사하는 방법은 다음과 같습니다.
#hostingforum.kr
cpp
std::unordered_map originalMap = {{"key", "value"}};
std::unordered_map copiedMap;
for (const auto& pair : originalMap) {
copiedMap[pair.first] = pair.second;
}
이 방법을 사용하면, 원본 해시맵의 요소를 변경해도 복사된 해시맵은 변경되지 않습니다.
2025-04-08 15:01