有这段代码的类是ClassName指针的引用类,即:
class ClassName;
class ClassRef
{
ClassName* m_class;
...
operator ClassName *() const { return m_class; }
...
我假设这用于指针有效性检查,例如:
ClassRef ref(new ClassName())
if (ref) { bla bla bla }
我的想法正确吗?
最佳答案
这是转换运算符的重载。每当需要将 ClassRef
对象转换为 ClassName
指针类型时,都会调用此运算符。
所以;
ClassRef r;
ClassName * p = r;
将利用这个重载。
关于c++ - 在工作中遇到这个 "operator ClassName *"。这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592084/