Tow*_*ube
2
c++
我有一个类,它取决于应用程序的状态,用户选项可能并不总是能够存在于任何有意义的状态.
当对象不存在时,最清楚的方法是什么?
到目前为止我想到的两个想法以及为什么我不相信它们不是答案:
- 智能指针设置为NULL当对象不存在,这发出了一个明确的信息,有没有对象这里,但是我读过,动态内存分配使用"新"应该是例外而不是在C++的规则,它也阻止我通过引用其他函数传入(因为指针可能并不总是指向一个对象).
- 对象中的布尔标志,在设置时会导致调用的任何方法抛出异常.这需要检查每种方法,并感觉像一个kludge.我也相信,最好的做法是,所有存在的对象应该是有效的 ,我们不应该需要调用一个validate(或类似)功能,因为对象的存在意味着它已经有效和准备,以呼吁它的方法.