일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Til
- 알고리즘연습
- 독서
- sparse matrix
- 논문
- TIP
- 참조자
- 프로그래머스
- dedicatedserver
- ComputeShader
- UNORDERED_MAP
- Conjugate Gradient
- 학습용
- class
- ue5
- 2020.03.16
- graphics
- C++
- ppt
- C
- game jam
- listenserver
- 2020.02.23
- Overloading
- Algorithm
- 알고리즘
- stretch force
- 백준
- Implicit method
- rendering pipeline
Archives
- Today
- Total
목록Operator (1)
OSgood의 개발일기

Class의 디폴트 대입 연산자는 멤버 간의 Shallow copy로 되어 있다. 이 때 클래스의 멤버들이 동적할당을 이용하고 있지 않으면 큰 문제가 발생하지 않는다. 하지만 만약 복사하는 값이 주소값이라면 Shallow copy는 큰 문제를 야기하고 런타임 에러를 발생시킬 수도 있다. 왜냐하면 동적할당으로 얻은 메모리를 이용할 때 Shallow copy를 하게 되면 메모리 공간은 그대로이고 이것을 가르키는 포인터는 양쪽 객체에서 똑같이 가지고 있기 때문에 한 쪽 객체의 destructor에서 메모리를 해제할 경우 다른 쪽에서의 접근은 실뢰할 수 없는 메모리 공간이 된다. 그림을 보면 이해가 더 쉬울 것 같아서 간단히 그림을 만들어 보았다. 위와 같이 Shallow copy를 하게 되면 한쪽은 소멸시켰을..
C++/문법
2019. 5. 7. 18:26