본문 바로가기
language/c++

[C ++] shallow copy vs deep copy

by 파란하늘코더 2021. 5. 8.
반응형

1. shallow copy 

 - 원본 객체를 바탕으로 새로운 객체를 생성한후 새로운 객체가 원본객체의 필드를 바라보는 형태

 - 같은 객체를 공유하기 때문에 한 쪽만 바꾸어도 양쪽의 data가 동시에 바뀌는 단점

 - 메모리에 대한 비용 절감 가능

 

2. deep copy 

 - 원본 객체를 바탕으로 새로운 객체를 생성한후 새로운 객체의 필드를 새로 만들어주는 형태(원본을 바라보지 않음)

 - 완전 다른 메모리에 할당이 되어 있기 때문에 한 쪽을 바꾸어도 변경되지가 않음

 - 메모리는 절감이 되지 않은채로 2배 늘어남

 

 

이 concept은 Systemverilog나 Python 등 모든 program 언어에서 동일한 concept으로 되어 있습니다.

'language > c++' 카테고리의 다른 글

[c++] #ifdef, #ifndef, #if, #elif  (0) 2021.02.06

댓글