if(this!=NULL)可以吗解决办法
if(this!NULL)可以吗在catch 中使用这句话,以便在该对象不是被删除的情况下,给某些标记赋值,如果是该对象
if(this!=NULL)可以吗
在catch 中使用这句话,以便在该对象不是被删除的情况下,给某些标记赋值,如果是该对象已经被删除,就不需要了;那么这句话可以用吗
[解决办法]
这句话没有用.
对象不会被删除,只会被析构.
被析构后,就不可以再访问.
this != NULL 在合法的程序下是永远都成立的,所以这个判断是没有意义的.
class A;
A * p = new A;//这句话的意思是....
p = 0;//不会改变p 原来指向的对象.
太多东西了,,,楼主看 C++ PRIMER 之类的吧.
[解决办法]
想想看,谁拥有this
在某个成员函数里,判断this是否为NULL。如果this为NULL,那么怎么进入函数的?
[解决办法]
[解决办法]多线程操作同一个对象 需要的是加锁 不是判断对象是否为NULL。
[解决办法]多线程中操作同一个对象应该是使用互斥技术吧,比如mutex
[解决办法]这是废话,当程序和执行环境没有问题(发生未定义行为)时永远成立。
[解决办法][解决办法]#include <stdio.h>
class X
{
public:
void IsThisNull()
{
if (NULL == this)
{
printf("NULL == this\n");
}
}
};
int main()
{
reinterpret_cast<X *>(NULL)->IsThisNull();
return 0;
}