gpt4 book ai didi

c++ - 如何遍历两对 STL set,pair> 中的所有元素?

转载 作者:行者123 更新时间:2023-11-28 05:51:45 31 4
gpt4 key购买 nike

这是我使用的数据类型。

  set< std::pair<string,string>,std::pair<string,string>> foo;

这是我尝试循环失败的例子

for(auto &e: foo){
cout << e.first << " " << e.second // this is where I am having an issue.
}

可以这样使用auto吗?例如

e.first, e.second // some c++ magic (i realize -> is wrong)  In pseudo -> //  e.third ...

我很想使用 auto,但如果不是,我该如何为我正在使用的数据类型编写迭代器?

最佳答案

你正在做一些非常奇怪的事情。

集合的签名是:

template<
class Key,
class Compare = std::less<Key>,
class Allocator = std::allocator<Key>
> class set;

所以你正在使用 std::pair<std::string, std::string>作为比较器。一旦你尝试插入一些东西,它就会编译失败。

但我很确定这不是您想要的。

你可能想要

map<pair<string, string>, pair<string, string>>;

set<pair<pair<string, string>, pair<string<string>>>;

或者也许

set<tuple<string, string, string, string>>;

关于c++ - 如何遍历两对 STL set<pair<t1,t2>,pair<t1,t2>> 中的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35111307/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com