1. 범용 할당 : 호출자가 요청한 임의의 크기의 메모리 블럭을 제공할 수 있다. 장점은 유연하나 여러가지 단점을 가지고 있다. a) 성능 - 유연한만큼 더 많은 일을 해야 한다. b) 단편화 - 블록들을 할당하고 해제하다보면, 할당되지 않는 작은 메모리 조각들이 여기 저기 흩어져서 존재하게 된다.
2. 고정크기할당 : 항상 동일한 고정된 크기의 블록을 반환한다. 덜 유연하나 속도가 빠르고 범용할당에서와 같은 종류의 단편화가 생기지 않는다.
C++ 메모리 관리 수준에는 4가지 수준의 계층 방식이 있다.
1. 운영체제의 커널
2. 컴파일러의 기본 실행시점 라이브러리
3. 표준 컨테이너들과 할당자들
4. 사용자 정의 컨테이너와 사용자 정의 할당자
2. 고정크기할당 : 항상 동일한 고정된 크기의 블록을 반환한다. 덜 유연하나 속도가 빠르고 범용할당에서와 같은 종류의 단편화가 생기지 않는다.
C++ 메모리 관리 수준에는 4가지 수준의 계층 방식이 있다.
1. 운영체제의 커널
2. 컴파일러의 기본 실행시점 라이브러리
3. 표준 컨테이너들과 할당자들
4. 사용자 정의 컨테이너와 사용자 정의 할당자