C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 如何在不使用异常的情况下检查构造函数()中的失败?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理的所有类都有Create()/ Destroy()(或Initialize()/ Finalized())方法.

Create()方法的返回值如下所示.

bool MyClass::Create(...);

@R_735_9447@从返回值检查实例的初始化是否成功.

没有Create()/ Destroy()我可以在constructor()和析构函数()中做同样的工作,但我无解决下面的问题.

谁能帮我?提前致谢.

我不能使用例外,因为我的公司不喜欢它.

class Foo
{
private:
    AnotherClass a;
public:
    Foo()
    {
        if(a.Initialize() == falsE)
        {
            //???
            //Can I notify the failure to the user of this class without using exception?
        }
    }
    ...
};

Foo obj;

解决方法

如果您不想使用异常,有两种方法可以让调用者知道构造函数是否成功:

>构造函数接受一个参数/指针,该参数将指向将错误状态传递给调用者的参数.
>该类实现了一个返回构造函数错误状态的方法.调用者将负责检查此方法.

如果您使用这些技术中的任何一种,请确保您的析构函数可以处理构造函数失败的实例.

大佬总结

以上是大佬教程为你收集整理的c – 如何在不使用异常的情况下检查构造函数()中的失败?全部内容,希望文章能够帮你解决c – 如何在不使用异常的情况下检查构造函数()中的失败?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。