Stack在C++中是否有迭代器?

The*_*ton 1 c++

据我所知,堆栈在C++中没有迭代器.例如,这篇文章(是否std :: stack公开迭代器?)明确指出堆栈没有迭代器.但是,我的主管告诉我,c ++中的堆栈应该有迭代器,因为它是一个标准的数据结构,你可以做stack.begin()(但是,据我所知,标准C++中没有这样的语法).我怎么说服他?为什么堆栈在C++中没有迭代器?

问题2:谢谢大家的精彩答案.我认为现在的问题归结为:为什么没有堆栈迭代器是有意义的?

Sam*_*hik 6

您可以通过建议您的主管去说服您的主管,并阅读ISO/IEC-14882(2011)的规范23.6.5 std::stack.

std::stack 没有迭代器.