我看到了以下代码:
class NullClass {
public:
template<class T> operator T*() const { return 0; }
};
const NullClass NULL;
void f(int x);
void f(string *p);
f(NULL); // converts NULL to string*, then calls f(string*)
Q1> 我在理解以下语句时有问题
template<class T> operator T*() const { return 0; }
特别是 是什么意思operator T*()
?
Q2> 为什么f(NULL)
终于触发了f(string*)
?
谢谢