为了账号安全,请及时绑定邮箱和手机立即绑定

指向成员的 C++ 指针的 Python 版本?

指向成员的 C++ 指针的 Python 版本?

qq_笑_17 2023-06-06 14:47:07
考虑这个 C++ 代码:class TestClass{public:  int memberA = 0;  int memberB = 0;  };void doSomethingToMember(int TestClass::* memberPointer, std::vector<TestClass> objects){  for(int i = 0; i < objects.size(); i++)    (objects[i].*memberPointer)++;}我们有一个接受多个对象的函数,我们想对我们使用memberPointer. 我们如何在 python 中执行此操作?我想我们可以使用某种反射还是有更好的方法?
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

要在 Python 中执行相同的操作,您可以使用带有成员名称而不是成员指针的getattrand函数:setattr


def do_something_to_member(member_name, objects):

    for object in objects:

        member_value = getattr(object, member_name)

        setattr(object, member_name, member_value + 1)


查看完整回答
反对 回复 2023-06-06
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号