allocator 클래스
템플릿 클래스는 저장소 할당 및 형식 형식의 개체에 대한 배열 해제를 관리하는 개체를 설명합니다. 클래스 allocator의 개체는 표준 C++ 라이브러리의 여러 컨테이너 템플릿 클래스에 대한 생성자에 지정된 기본 할당자 개체입니다.
template <class Type> class allocator
모든 표준 템플릿 라이브러리 컨테이너에는 allocator로 기본 설정되는 템플릿 매개 변수가 있습니다. 사용자 지정 할당자로 컨테이너를 생성하면 해당 컨테이너 요소의 할당 및 해제를 제어할 수 있습니다.
예를 들어 할당자 개체에서 전용 힙 또는 공유 메모리에 저장소를 할당하거나, 작거나 큰 개체 크기에 맞게 최적화할 수 있습니다. 또한 제공된 형식 정의를 사용하여 공유 메모리를 관리하는 특수 접근자 개체를 통해 요소에 액세스하거나 자동 가비지 컬렉션을 수행하도록 지정할 수 있습니다. 따라서 할당자 개체를 사용하여 저장소를 할당하는 클래스는 표준 C++ 라이브러리의 컨테이너처럼 이러한 형식을 사용하여 포인터 및 참조 개체를 선언해야 합니다.
(C_++98/03만 해당)할당자 클래스에서 파생시키는 경우 _Other typedef에서 새로 파생 클래스를 참조하는 rebind 구조체를 제공해야 합니다.
따라서 할당자는 다음과 같은 형식을 정의합니다.
pointer는 형식에 대한 포인터처럼 동작합니다.
const_pointer는 형식에 대한 const 포인터처럼 동작합니다.
reference는 형식에 대한 참조처럼 동작합니다.
const_reference는 형식에 대한 const 참조처럼 동작합니다.
이러한 형식은 할당된 요소에 대해 포인터 및 참조를 사용해야 하는 폼을 지정합니다. (allocator::pointer는 클래스 allocator에 대한 명확한 정의가 있는 경우에도 모든 할당자 개체에 대한 형식*과 동일할 필요가 없습니다.)
C++11 이상: 할당자에서 이동 작업을 사용하려면 최소 할당자 인터페이스를 사용하고 복사 생성자, == 및 != 연산자, 할당 및 할당 취소를 구현하세요. 자세한 내용 및 예제는 할당자를 참조하세요.
생성자
allocator 개체를 만드는 데 사용되는 생성자입니다. |
Typedefs
할당자에 의해 관리되는 개체 형식에 대한 상수 포인터를 제공하는 형식입니다. | |
할당자에 의해 관리되는 개체 형식에 대한 상수 참조를 제공하는 형식입니다. | |
할당자에 의해 관리되는 개체 형식에 대한 포인터 값의 차이를 나타낼 수 있는 부호 있는 정수 형식입니다. | |
할당자에 의해 관리되는 개체 형식에 대한 포인터를 제공하는 형식입니다. | |
할당자에 의해 관리되는 개체 형식에 대한 참조를 제공하는 형식입니다. | |
템플릿 클래스 allocator의 개체가 할당할 수 있는 시퀀스의 길이를 나타내는 부호 없는 정수 형식입니다. | |
할당자에 의해 관리되는 형식입니다. |
멤버 함수
값이 지정된 개체의 주소를 찾습니다. | |
적어도 지정된 개수의 요소를 저장할 수 있을 만큼 큰 메모리 블록을 할당합니다. | |
지정된 값으로 초기화된 특정 형식의 개체를 지정된 주소에 생성합니다. | |
지정된 위치부터 시작하여 저장소에서 지정된 개수의 개체를 해제합니다. | |
개체가 저장된 메모리 할당을 취소하지 않고 개체 소멸자를 호출합니다. | |
사용 가능한 메모리를 사용하기 전에 클래스 allocator의 개체에서 할당할 수 있는 Type 형식의 요소 수를 반환합니다. | |
한 형식의 개체에 할당자를 사용하여 다른 형식의 개체에 저장소를 할당할 수 있는 구조체입니다. |
연산자
allocator 개체를 다른 allocator 개체에 할당합니다. |
'공부' 카테고리의 다른 글
Kernel Exploit (0) | 2016.02.22 |
---|---|
Template 공부 (0) | 2016.02.09 |
GOT 입력 ( _dl_runtime_reslove ) (0) | 2015.12.29 |
MISC_Nyan [MISC] (0) | 2015.08.12 |
Easy Crack Me[Would you Crack Me?] (0) | 2015.05.30 |