본문 바로가기

C++ Programming/Exceptional C++ style

C++ 두 가지 메모리 관리 전략

1. 범용 할당  : 호출자가 요청한 임의의 크기의 메모리 블럭을 제공할 수 있다. 장점은 유연하나 여러가지 단점을 가지고 있다. a) 성능 - 유연한만큼 더 많은 일을 해야 한다. b) 단편화 - 블록들을 할당하고 해제하다보면, 할당되지 않는 작은 메모리 조각들이 여기 저기 흩어져서 존재하게 된다.

2. 고정크기할당 :  항상 동일한 고정된 크기의 블록을 반환한다. 덜 유연하나 속도가 빠르고 범용할당에서와 같은 종류의 단편화가 생기지 않는다.

C++ 메모리 관리 수준에는 4가지 수준의 계층 방식이 있다.

1. 운영체제의 커널
2. 컴파일러의 기본 실행시점 라이브러리
3. 표준 컨테이너들과 할당자들
4. 사용자 정의 컨테이너와 사용자 정의 할당자