如何在c中获取集合的第一个元素

新手上路,请多包涵

我是 C++ 新手,我已经声明了一组集合:

 std::set< std::set<int> > return_moves;

并在其中推送了一些值。我想访问该集合的第一个元素,以便可以计算该内部集合中的元素数量。我正在努力解决

return_moves.begin().size()

我收到此错误:

 set_diff.cpp: In function ‘int main()’:
set_diff.cpp:62:47: error: ‘std::set<std::set<int> >::iterator {aka struct std::_Rb_tree_const_iterator<std::set<int> >}’ has no member named ‘size’

请帮我纠正我的语法。

原文由 Sachin Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
1 个回答

对不起,我迟到了,我刚刚通过并为下一个开发人员找到了解决方案。

要获得 std::set 的第一个元素,您可以使用:

 std::set< std::set<int> > return_moves;
auto oneMove = *(return_moves.begin()); // will return the first set<int>

oneMove.size(); // will return the size of the first set<int>

因为 return_moves.begin() 返回集合的第一个元素的迭代器,并且通过添加 * 我们将接收第一个元素的值。

原文由 Hamza 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题