我正在查看 Google C++ 风格指南,他们决定 not to use exceptions in C++ code ,而是依赖于返回值。
我的问题是:在这种情况下,您如何处理构造函数中的失败,因为您无法在其中返回值。
谢谢!
最佳答案
我的第一直觉是从构造函数中取出失败点,并创建一个初始化方法。
这样你就可以创建你的对象而不用担心失败,然后调用 init() 函数。该函数可以为成功/失败返回类似于 int 的东西,例如,如果发生失败则为 -1。
是的,这是一个额外的步骤,但它确实能让你避免让构造函数失败
关于c++ - 不允许抛出异常时如何处理失败的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348535/