gpt4 book ai didi

c++ - *this = NULL 在模板类的方法中意味着什么?

转载 作者:行者123 更新时间:2023-11-28 03:42:09 24 4
gpt4 key购买 nike

在模板类中,我发现了表达式,*this = NULL 这样的表达式是什么意思?

其定义如下:

TYPE** getPtr() 
{
*this = NULL;
return &m_pPtr;
}

其中 m_pPtr 是模板类中的 TYPE*​​ 类型。

赋值运算符:

// Assignment operator.
TYPE* operator =(TYPE *pPtr) {
if (pPtr == m_pPtr)
return pPtr;

m_pPtr = pPtr;

return m_pPtr;
}

毗湿奴。

最佳答案

在没有看到实际代码的情况下,很难说出这样一个语句的意义所在。

但它可能会调用重载的赋值运算符。例如:

#include <iostream>

class X {
public:
void operator=(void *) {
std::cout << "Here!\n";
}

void foo() {
*this = NULL;
}
};


int main() {
X x;
x.foo();
}

关于c++ - *this = NULL 在模板类的方法中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796575/

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