作为课堂作业的一部分,我们正在阅读 Herb Sutter 的 Exceptional C++ 书籍。
我在理解 typedef 实际在做什么和破译它是如何构造的方面有一个问题:第 36 条:
如果有人通过 typefef 的逻辑,这将是一个很大的帮助。
class B
{
public:
virtual ~B();
void operator delete (void*, size_t) throw();
void operator delete[] (void*, size_t) throw();
void f(void*, size_t) throw();
}
class D : public B
{
public:
void operator delete (void*) throw();
void operator delete[] (void*) throw();
};
typedef void (B::*PMF)(void*, size_t);
PMF p1 = &B::f;
PMF p2 = &B::operator delete;
由于 B 类 (PMF) 中没有指向成员函数的指针,那么 PMF 是什么以及它是如何创建的?
typedef的返回类型是void吗?(void* and size_t) 是 typedef 的参数吗?
谢谢