gpt4 book ai didi

c++ - 关于成员变量偏移量的模板语法问题

转载 作者:行者123 更新时间:2023-11-28 08:21:54 24 4
gpt4 key购买 nike

我正在使用 Luabind 将 LUA 集成到我的一个项目中,下面的事情让我觉得很奇怪(我是一个自学成才的初学者)

  template <class C, class D, class GetPolicies, class SetPolicies>
class_& def_readwrite(
const char* name
, D C::*mem_ptr
, GetPolicies const& get_policies
, SetPolicies const& set_policies
)

这个函数接受一个字符串和一个指向成员字段的指针,我明白了,令我困惑的是这里的顺序。

D C::*mem_ptr

我期待 D::C *,因为“&foo::bar”变成了“foo bar::*”……我觉得很奇怪。这背后的逻辑是什么?

最佳答案

如果用实际类型替换 DC,这是有意义的:

struct Test{
int member;
};

typedef int Test::*memptr;
// ^^^ ^^^^
// D C
memptr p = &X::member;

关于c++ - 关于成员变量偏移量的模板语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com