#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宏,偷偷懒
最新推荐文章于 2025-07-02 17:56:22 发布