【发布时间】:2014-10-11 20:47:04
【问题描述】:
我想修改对象数组的特定对象成员。所以我打算将对象成员传递给一个方法,该方法将遍历数组并修改每个对象的指定成员:
Object *objs[10];
if (condition)
modify_all(objs, Object.x, set_value);
但我不能像那样传递 Object.x。有没有更好的方法来做到这一点? 我需要这样的东西,因为 modfiy_all 不知道要修改哪个成员。
编辑:我只是想重构数组的重复迭代。
【问题讨论】:
-
您也许可以使用模板来执行此操作,例如 this question
-
这听起来有点复杂,但我会试一试。谢谢!
-
是的,这很复杂,但是您尝试做的事情有点奇怪。根本不使用函数可能更容易,而只是使用 for 循环。如果你使用 c++11,你可以使用带有 lambda 函数的回调作为替代。