这是验证传递给函数,即输入的最佳方式做您验证所有输入出发某些东西一样编码风格 - 输入验证
class A;
void fun(A* p)
{
if(! p)
{
return;
}
B* pB = p->getB();
if(! pB)
{
return;
}
.......
}
之前还是你写这样的:
void fun(A* p)
{
if(p)
{
B* pB = p->getB();
if(pB)
{
.....
}
}
}
我在问这是因为,如果我使用第一种风格,那么我的代码中会有多个返回语句,很多人都说不好(不知道为什么),如果使用第二种风格,那么会有在我的代码中嵌套层次太多。
这与NullPointerException有何不同? – Arkadiy 2009-01-23 20:02:41
输入先决条件不限于指针非空的情况 – 2009-01-26 16:01:52