내 응용 프로그램에 전역 스택을 만들고이 스택에 특정 객체를 배치하려고합니다. 이러한 개체는 고정 된 크기가 아닙니다.사용자 정의 스택 할당 자, 대체 삭제
현재 가지고 있습니다.
static char contextStack[CONTEXT_MAX_SIZE];
static char *top = &contextStack[0];
나는 문제는 내가 스택을 그만 팝업 할 수있는 delete
연산자를 구현하는 것이 방법이다
static void *operator new(size_t size) {
void *Result;
Result = top;
top = top + size;
return Result;
};
상속 기본 클래스의 new
연산자를 대체? 아이템이 얼마나 큰지 말해주지 않습니까? 각 항목의 크기를 배열에 저장해야합니까?
(p.s) 마지막으로 생성 된 것은 항상 삭제 된 첫 번째 것입니다. 그리고 스택을 준수합니다.
doh! ofcourse delete operator = top에서 p를! 오름차순 스택에 어떤 단점이 있습니까? contextStack이 멋진 주소에서 시작되도록하고 새로운 연산자에서 결과가 앞으로 채워지는지 확인하는 것이 맞습니까? –