【发布时间】:2020-06-12 22:31:56
【问题描述】:
假设我们有一个像这样的简单数据类:
struct DataObj
{
char member[32];
}
以及指向数据对象中成员的指针类型:
typedef decltype(&DataObj::member) memberObjPtr;
如何推断指针指向的成员变量的类型? 具体如何获取:
typedef myExpression<memberObjPtr>::type myType;
std::is_same<char[32],myType>::value == true
到目前为止我尝试了什么:
std::remove_pointer
std::remove_reference
std::decay
没有成功。 标准中是否隐藏着诸如 remove_member_object_pointer 之类的东西?这是我需要的,但似乎找不到..
【问题讨论】:
标签: c++ templates typetraits member-pointers