요약 ¶
- C++의 가상 함수(virtual function)의 동작 원리에 대한 공부
- C++의 3가지 casting에 대한 공부
- static_cast
- dynamic_cast
- const_cast
- static_cast
가상 함수 ¶
- vtable을 이용해 가상함수가 구현됨: 스터디에 사용한 자료
- 순수 가상 함수: 클래스 뼈대를 만들 때 이용
- 소멸자는 그 특성상 가상함수로 만드는 것이 적절하다
- 부모 포인터형에서 delete할 때 자식 클래스 멤버가 적절히 소멸되지 않을 수 있다
- 부모 포인터형에서 delete할 때 자식 클래스 멤버가 적절히 소멸되지 않을 수 있다
3가지 casting ¶
- static_cast : compile-time에 casting의 안정성 판단
- dynamic_cast : run-time에 casting의 안정성 판단
- const_cast : 상수성 제거. 무슨 생각으로 이 짓거릴 하는 지 정확히 알고 쓰기 바람