gpt4 book ai didi

c++ - 指向成员的指针的偏移量

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:12:50 26 4
gpt4 key购买 nike

template<class T, typename U> ptrdiff_t foo(T U::* m)
{
// return offset
}

在此上下文中如何获取字段“m”的偏移量?我更愿意使用 am 编译时表达式。

在此先感谢您的帮助。最好的问候

最佳答案

@迈克尔J

感谢您的回答。这不是我一直在寻找的东西,但它给了我这样做的灵感:

template<class T, typename U>
std::ptrdiff_t member_offset(U T::* member)
{
return reinterpret_cast<std::ptrdiff_t>(
&(reinterpret_cast<T const volatile*>(NULL)->*member)
);
}

关于c++ - 指向成员的指针的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617251/

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