使用案例:
class B {
int b;
public:
int getB() {
return b;
}
};
class A {
B *b;
public:
int getB() {
if (b ) { //How can I avoid the null check for b here
return b->getB();
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果B在getB()中为null,那么您期望发生什么?如果它不是程序的有效状态,只需断言(b!= NULL).如果它是有效状态,则需要检查.
有些语言支持合同,因此您不需要手动编写检查代码,但遗憾的是C++没有.
| 归档时间: |
|
| 查看次数: |
2709 次 |
| 最近记录: |