【问题标题】:C++ Return list inside a std::pairstd::pair 内的 C++ 返回列表
【发布时间】:2015-12-10 15:09:58
【问题描述】:

我在std::list 中有几个元素。我必须输出类似std::pair<int, std::list<std::string> > 的东西。对于 int,我只需将 int 变量直接添加到该对中。有没有办法在一个语句中打印列表而不必使用迭代器?你如何在一对内做到这一点?

【问题讨论】:

  • 为什么不想使用迭代器?
  • 您可以将copy 发送到ostream_iterator...
  • 所以你想打印一个列表。作为一对元素的列表仍然是一个列表,与任何其他列表没有什么不同。为什么要提到对?
  • for (auto & str : pair.second){ std::cout << str << '\n';}
  • 这和pair有什么关系?

标签: c++ list stdlist


【解决方案1】:

有没有办法在一个语句中打印列表而不必使用插入器。

肯定是这样的:如果在修改列表时,您维护一个数组,其中存储指向列表中包含的每个元素的指针,那么您可以简单地遍历该数组以获取所有对象。不需要迭代器!

更严肃的建议:只使用迭代器。如果您使用基于范围的循环,则无需显式使用它们。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2018-02-21
    • 2020-03-26
    • 1970-01-01
    • 2020-04-22
    • 2013-11-08
    • 1970-01-01
    • 2011-01-01
    • 2012-12-12
    相关资源
    最近更新 更多