#define foreach(container,it) for(typeof((container).begin()) it = (container).begin();it!=(container).end();++it)

demo:

#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <string>
using namespace std;
 
#define foreach(container,it) for(typeof((container).begin()) it = (container).begin();it!=(container).end();++it)
 
int main() {
    set<string> s;
    s.insert("w");
    s.insert("a");
    s.insert("n");
 
    foreach(s, it) {
        cout<<*it<<endl;
    }
 
    map<unsigned,string> m;
    m[0]="x";
    m[1]="w";
 
    foreach(m, it) {
        cout<<it->first<<","<<it->second<<endl;
    }
 
    return 0;
}

这种写法有点python哦。

 

详见:在C++中实现foreach循环,比for_each更简洁!

相关文章:

  • 2022-12-23
  • 2021-06-10
  • 2022-03-02
  • 2021-05-10
  • 2021-11-08
  • 2021-04-04
  • 2021-07-14
  • 2021-05-12
猜你喜欢
  • 2021-10-13
  • 2021-05-21
  • 2021-05-20
  • 2021-12-06
  • 2021-08-25
  • 2021-04-29
  • 2021-09-13
相关资源
相似解决方案