c++ - 不允许抛出异常时如何处理失败的构造函数

标签 c++ constructor exception

我正在查看 Google C++ 风格指南,他们决定 not to use exceptions in C++ code ,而是依赖于返回值。

我的问题是:在这种情况下,您如何处理构造函数中的失败,因为您无法在其中返回值。

谢谢!

最佳答案

我的第一直觉是从构造函数中取出失败点,并创建一个初始化方法。

这样你就可以创建你的对象而不用担心失败,然后调用 init() 函数。该函数可以为成功/失败返回类似于 int 的东西,例如,如果发生失败则为 -1。

是的,这是一个额外的步骤,但它确实能让你避免让构造函数失败

关于c++ - 不允许抛出异常时如何处理失败的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348535/

相关文章:

javascript - 如何创建一个带有构造函数的 Javascript 包?

exception - 并发程序中具有不可变 Map 的 Scala 错误?

json - WCF WebFaultException 异常详细信息

c++ - 每个进程可配置的核心转储目录

c++ - 合并两个堆的算法

php - 为什么即使类和构造函数的大小写不同,我的构造函数仍然被调用?

c++ - 在堆栈上抛出对象异常,new 内存泄漏?

c++ - 为什么这个 C++ 程序如此之快?

c# - 如何知道 Windows 中是否正在访问设备?

mvvm - 是否应该通过构造函数、属性或方法调用来初始化 ViewModel