首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(struct PToMTraits<U V::*>)模板规范是什么意思?

(struct PToMTraits<U V::*>)模板规范是什么意思?
EN

Stack Overflow用户
提问于 2015-11-10 18:18:19
回答 1查看 102关注 0票数 1

我在Alexandrescu的书中发现了这种类型的特点,我不知道如何理解这个规范。

代码语言:javascript
复制
template <typename T>
class TypeTraits
{
private:
template <class U> struct PToMTraits
{
enum { result = false };
};
template <class U, class V>
struct PToMTraits<U V::*>
{
enum { result = true };
};
public:
enum { isMemberPointer = PToMTraits<T>::result };
...
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-10 18:23:06

这是一个P燕麦到M烬检查,因此PtoM

它检查传入的类型是否是指针到数据成员类型(或者不是)。为此,它提供了一个主模板,其resultfalse,并对与U V::*匹配的任何类型(即指向任何类型V的任何类U的数据成员的指针)进行了部分专门化,后者的resulttrue

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33636832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档