std::stack
C++ STL中是否公开了底层容器的任何迭代器,还是应该直接使用该容器?
根据堆栈的定义,堆栈没有迭代器.如果你需要使用迭代器堆栈,你需要在其他容器(std :: list,std :: vector等)之上自己实现它. Stack doc就在这里.
PS根据我从Iraimbilanja得到的评论,std :: stack默认使用std :: deque进行实现.
如果需要带迭代器的堆栈,则有两种选择.使用push_back(),pop_back()的std :: vector.std :: deque与push_back()/ pop_back()或push_front()/ pop_front().