【发布时间】:2011-08-22 02:10:04
【问题描述】:
假设我有一个包含许多成员的对象:
class Example {
AnotherClass member1;
AnotherClass member2;
YetAnotherClass member3;
...
};
是否有一种简短/简洁的方法来执行以下操作:
foreach(member m: myExample)
m.sharedMethod();
而不是单独访问每个?
我想我可以将它们放在一个向量中并使用shared_ptr 来获得相同的效果,我只是想知道,Boost 或其他一些流行的库是否无法自动执行此操作。
【问题讨论】:
-
我真的不认为这是一个好主意。如果你需要迭代某个东西,那么就将它声明为一个可迭代的容器,不然你为什么不这样做呢?
-
查看 Boost 序列化
-
C++ 没有反射。这意味着这是不可能的。
-
出于好奇,这有什么用?通常,当某件事根本不可能发生时,是因为它一开始就没有意义。