我试图了解如何推送、弹出和获取 std::vector 的顶部,这基本上是 C++ 中带有向量的堆栈的实现。
我的实现完全正常,但我不完全确定它是否按应有的方式处理资源,如果可以的话,那就太好了。我还没有找到很多这样的例子,所以它会帮助其他人,如果不行,请提供有关如何改进它的信息,可能出现的错误等。
这是我当前的代码:
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);
}