[Effective C++] 8. new와 delete를 내 맘대로 [2/2]
operator new·delete를 작성할 때 지켜야 할 관례와, 위치지정 new를 만들 때 짝이 되는 delete도 함께 준비해야 하는 이유를 정리했습니다.
operator new·delete를 작성할 때 지켜야 할 관례와, 위치지정 new를 만들 때 짝이 되는 delete도 함께 준비해야 하는 이유를 정리했습니다.
메모리가 부족할 때 호출되는 new 처리자의 동작 원리와, operator new·delete를 직접 교체해야 하는 상황을 정리했습니다.
알고리즘을 개별 클래스로 캡슐화해 실행 중에 교체할 수 있게 하는 전략 패턴의 구조와, 상태 패턴과의 차이를 정리했습니다.
객체 지향 설계의 다섯 가지 원칙인 단일 책임·개방 폐쇄·리스코프 치환·인터페이스 분리·의존성 역전을 정리했습니다.
우선순위가 높은 데이터가 먼저 나오는 우선순위 큐의 개념과, C++ priority_queue의 동작 방식과 시간 복잡도를 정리했습니다.
완전 이진 트리를 배열로 표현하는 힙의 구조와 삽입·삭제 연산, 이진 탐색 트리와의 차이를 정리했습니다.
구간에 값을 더하는 연산을 시작과 끝만 표시해 처리하는 차분 배열과 이모스법의 원리를 정리했습니다.
제자리 정렬과 안정 정렬의 기준, 그리고 선택·삽입·버블·퀵·병합·힙 정렬의 동작 방식과 복잡도를 비교했습니다.
프로그램이 메모리에 올라갈 때 나뉘는 텍스트·데이터·BSS·힙·스택 세그먼트의 역할과 특징을 정리했습니다.
컴퓨터가 실수를 저장하는 고정 소수점과 부동 소수점 방식의 차이, 그리고 부동 소수점이 갖는 정밀도 한계를 정리했습니다.