C++ C++;您可以在构造函数或析构函数中引用this指针吗?
老实说,这只是一个一般性的问题,我没有需要修复的代码。我只是好奇你是否可以在构造函数或析构函数中引用C++ C++;您可以在构造函数或析构函数中引用this指针吗?,c++,constructor,this,destructor,C++,Constructor,This,Destructor,老实说,这只是一个一般性的问题,我没有需要修复的代码。我只是好奇你是否可以在构造函数或析构函数中引用this指针 一个小的示例代码也会很受欢迎,因此我可能会继续。构造函数和析构函数都可以访问这个指针,就像所有其他方法一样,除非它们是静态的,(我指的是这些方法) 例如: #include <iostream> class C { public: int *a; C() { std::cout << "calling const
this
指针
一个小的示例代码也会很受欢迎,因此我可能会继续。构造函数和析构函数都可以访问
这个指针,就像所有其他方法一样,除非它们是静态的,(我指的是这些方法)
例如:
#include <iostream>
class C {
public:
int *a;
C() {
std::cout << "calling constructor\n";
this->a = new int(5);
}
~C() {
std::cout << "\ncalling destructor";
delete this->a;
}
};
int main() {
C c{};
std::cout << *c.a;
}
这是一个简化版本,请注意,当类需要用户定义的析构函数时,它很可能还需要用户定义的复制构造函数和用户定义的复制赋值运算符,如中所定义
calling constructor
5
calling destructor