stack.top()。first()与stack.top()相同吗?

时间:2014-08-06 19:47:00

标签: c++ stack

一个新手问题。

std::stack<int, int> stack;

问题:

stack.top().first()stack.top()相同?

2 个答案:

答案 0 :(得分:4)

不,不是。 stack.top()会将对最近添加的项目的引用返回给stack

在该引用上调用first根本没有意义,除非该对象具有方法first()

答案 1 :(得分:0)

没有。你显然有一堆对(我猜这真的是std::stack<std::pair<int, int> >,因为std::stack<int, int>甚至没有效果。 stack.top()指的是堆栈中的顶级项目。由于(在您的情况下)这些是std::pair<int, int>.firstint的第一个pair(并且.second将为您提供第二个int )。