【发布时间】:2014-08-06 19:46:59
【问题描述】:
一个新手问题。
std::stack<int, int> stack;
问题:
stack.top().first() 是否与stack.top() 相同?
【问题讨论】:
-
什么是
std::stack<int, int>?你试过编译吗? -
stack的第二个参数应该是一个容器,或者空白
一个新手问题。
std::stack<int, int> stack;
问题:
stack.top().first() 是否与stack.top() 相同?
【问题讨论】:
std::stack<int, int>?你试过编译吗?
不,不是。 stack.top() 将最近添加的项目的引用返回到stack。
除非该对象具有方法first(),否则对该引用调用first 根本没有意义。
【讨论】:
没有。你显然有一堆对(我猜那真的是std::stack<std::pair<int, int> >,因为std::stack<int, int> 甚至无效)。 stack.top() 指的是堆栈中的顶部项目。因为(在你的情况下)那些是std::pair<int, int>,.first 是pair 中的第一个int(而.second 会给你这对中的第二个int)。
【讨论】: