我在 SO 上看到了许多关于如何定义自定义迭代器的帖子,但似乎没有什么能准确回答我的问题,即......
如何创建一个隐藏嵌套 for 循环的迭代器?
例如,我有一个类 Foo,Foo 内部是一个 Bar,Bar 内部是一个字符串。我可以写
for (const Foo& foo : foo_set)
for (const Bar& bar : foo.bar_set)
if (bar.my_string != "baz")
cout << bar.my_string << endl;
但相反,我希望能够执行以下操作:
for (const string& good : foo_set)
cout << good << endl;
我该怎么做这样的事情?