遍历 N 个任意类型的变量来执行操作的简洁方法是什么?
假设我有变量a
, b
, c
, d
, e
并想要对他们所有人进行一些操作。
使用 Boost.Hana 和通用 lambda:
#include <tuple>
#include <iostream>
#include <boost/hana.hpp>
#include <boost/hana/ext/std/tuple.hpp>
struct A {};
struct B {};
struct C {};
struct D {};
struct E {};
int main() {
using namespace std;
using boost::hana::for_each;
A a;
B b;
C c;
D d;
E e;
for_each(tie(a, b, c, d, e), [](auto &x) {
cout << typeid(x).name() << endl;
});
}
http://coliru.stacked-crooked.com/a/ccb37ec1e453c9b4 http://coliru.stacked-crooked.com/a/ccb37ec1e453c9b4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)