【问题标题】:Is stack.top().first() same as stack.top()?stack.top().first() 和 stack.top() 一样吗?
【发布时间】:2014-08-06 19:46:59
【问题描述】:

一个新手问题。

std::stack<int, int> stack;

问题:

stack.top().first() 是否与stack.top() 相同?

【问题讨论】:

  • 什么是std::stack&lt;int, int&gt;?你试过编译吗?
  • stack的第二个参数应该是一个容器,或者空白

标签: c++ stack


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    没有。你显然有一堆对(我猜那真的是std::stack&lt;std::pair&lt;int, int&gt; &gt;,因为std::stack&lt;int, int&gt; 甚至无效)。 stack.top() 指的是堆栈中的顶部项目。因为(在你的情况下)那些是std::pair&lt;int, int&gt;.firstpair 中的第一个int(而.second 会给你这对中的第二个int)。

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 2012-07-13
      • 1970-01-01
      • 2015-10-18
      • 2014-04-06
      • 2017-11-29
      • 2021-04-14
      • 2020-06-04
      • 2017-12-22
      相关资源
      最近更新 更多