gpt4 book ai didi

c++ - (struct PToMTraits) 模板规范是什么意思?

转载 作者:行者123 更新时间:2023-11-30 02:35:25 24 4
gpt4 key购买 nike

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

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 };
...
};

最佳答案

它是一个Pointer to Member 检查器,因此是PtoM

它检查传入的类型是否是指向数据成员的指针类型(或不是)。它通过提供一个 resultfalse 的主模板和匹配 U V::* 的任何类型的部分特化(即指向任何类型 V 的任何类 U 的数据成员的指针,其 resulttrue

关于c++ - (struct PToMTraits<U V::*>) 模板规范是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33636832/

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