通过传递修改对象数组的特定对象成员

时间:2014-10-11 20:47:04

标签: c++ arrays struct member

我想修改对象数组的特定对象成员。所以我打算将对象成员传递给一个迭代数组并修改每个对象的指定成员的方法:

Object *objs[10];
if (condition)
   modify_all(objs, Object.x, set_value);

但我不能像那样通过Object.x.有没有更好的方法呢? 我需要这样的东西,因为modfiy_all不知道要修改哪个成员。

编辑:我只是想重构数组的重复迭代。

1 个答案:

答案 0 :(得分:0)

您可以传递char或int而不是对象成员,该字符串或int将指定应修改哪个成员。例如:

Object *objs[10];
if (condition)
   modify_all(objs, "x", set_value);

Object *objs[10];
if (condition)
   modify_all(objs, 0, set_value);

在modify_all中,您可以使用基于此参数发送的switch语句。