我想知道做这样的事情是否合适。
if ( p_Pointer != NULL ) {
return p_Pointer;
} else {
return NULL;
}
没有别的,无论如何。关键是如果指针为空,将返回NULL,所以在这上面浪费一点似乎毫无意义。但是,它似乎对调试有用,因为如果我使用调试器,我将能够检查此测试是否指针为NULL。
有关此做法的任何意见或建议吗?
答案 0 :(得分:8)
这样做“没问题”,即它没有任何问题,尽管它不是很有用。如果您正在调试器中,您应该能够显示p_Pointer的值。
与
类似if( flag == TRUE ) {
return TRUE;
} else {
return FALSE;
}
而不仅仅是return flag;
答案 1 :(得分:6)
你可以说:
return p_Pointer;
因为if statement
在这种情况下是多余的。
答案 2 :(得分:1)
实际上,看起来真的很奇怪。如果你真的做得更多,或者经常使用表达,那就可以消除怀疑。
再多一点,它并不是那么不寻常:
if ( p_Pointer != NULL ) {
return p_Pointer;
} else {
assert(p_Pointer);
return NULL;
}
或
assert(p_Pointer);
return p_Pointer;
oder vielleicht:
return require_valid_pointer(p_Pointer);
答案 3 :(得分:1)
使用条件断点(在单个“返回”行上)代替吗?