나는 푸시, 팝 및 std :: vector의 맨 처음을 얻는 방법을 이해하려고 노력하고 있습니다. 기본적으로 C++의 스택을 벡터로 구현 한 것입니다.std :: vector를 사용하여 스택을 구현하는 방법은 무엇입니까?
구현이 완벽하게 작동하지만 괜찮 으면 큰 도움이 될만한 리소스를 처리하고 있는지 확실하지 않습니다.
std::vector<std::unique_ptr<Estado>> vecEstados;
// PUSH
void push(Estado *es){
vecEstados.emplace_back(es); // (MENU IS A SUBCLASS OF ESTADO)
}
// GET TOP
Estado *get_top()
{
return vecEstados.back().get();
}
// POP (THIS SHOULD JUST ERASE LAST ITEM)
void pop()
{
vecEstados.erase(vecEstados.end()-1);
}
: 그것은 다른 사람을 도움이 될 것입니다, 그래서 나는이 내 현재 코드 등이 발생할 수있는 오류,
그것을 개선하는 방법에 대한 정보를 제공하시기 바랍니다 확인이 아니라면,이 중 많은 예제를 발견하지 않았습니다
이미 ['std :: stack'] (http://en.cppreference.com/w/cpp/container/stack) – P0W
내가 수정해야 할 수도 있습니다 삽입하고 물건을 할 수 있습니다 결국 정상.그 이유는 내가 벡터로 그것을 빌드하도록 선택했습니다 – lisovaccaro