读书人

C/C++判断指针空与不空的方法哪样合理

发布时间: 2012-09-23 10:28:11 作者: rapoo

C/C++判断指针空与不空的方法哪样合理,还是都可以,还是在都可以的情况下某个最合理
C/C++判断指针空与不空的方法哪样合理,还是都可以,还是在都可以的情况下某个最合理?
1.
char *pT =NULL;
pT = new char[10];
if (!pT)
{
do something;
}
else
{
do others;
}

///==============================================================================
2.
char *pT = NULL;
pT = new char[10];
if (NULL == pT)
{
do somthing;
}
else
{
do others;
}


[解决办法]
一样。这种问题你可以把if (NULL == pT)和if (!pT)都写出来,然后查看反汇编就知道哪个好了。
VS2005环境查看结果:
if (NULL == pT)
cmp dword ptr [ebp-98h],0
jne wmain+0B8h (41B528h)

if (!pT)
cmp dword ptr [ebp-98h],0
jne wmain+0B8h (41B528h)
所以二者一致。
[解决办法]
1.

C/C++ code
p = new T();
[解决办法]
探讨如果 内存没有分配成功不是要返回一个空指针吗,怎么会不能执行呢

读书人网 >C++

热点推荐