测试非空指针,否则返回null

Ano*_*ous 3 c++ pointers return-value

我想知道做这样的事情是否合适.

if ( p_Pointer != NULL ) {
  return p_Pointer;
} else {
  return NULL;
}
Run Code Online (Sandbox Code Playgroud)

没有别的,无论如何.关键是如果指针为空,将返回NULL,所以在这上面浪费一点似乎毫无意义.但是,它似乎对调试有用,因为如果我使用调试器,我将能够检查此测试是否指针为NULL.

有关此做法的任何意见或建议吗?

Gra*_*row 8

这样做是"好的",即它没有任何问题,尽管它不是很有用.如果你正在调试器中,你应该能够显示p_Pointer的值.

它类似于

if( flag == TRUE ) {
    return TRUE;
} else {
    return FALSE;
}
Run Code Online (Sandbox Code Playgroud)

而不仅仅是 return flag;


Ara*_*raK 6

你可以这样说:

return p_Pointer;
Run Code Online (Sandbox Code Playgroud)

因为if statement在这种情况下是多余的.

  • @Anon:您还可以使用调试器的"Watch"功能来检查指针是否为NULL. (2认同)