void f(boost::shared_ptr<int> ptr)
{
    if (ptr) // should we check?
        // do something
}

void f2(int *p)
{
    if (p) // good practice to check before using it
        // do something
}

问题:我们应该在使用shared_ptr之前对其进行验证吗?

最佳答案

否。如果必须遵守该功能契约(Contract),那么引起注意调用者存在错误的事实的最快方法是崩溃。尽早失败。

10-08 03:19