我看到了以下代码:
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*)?
谢谢