百科问答小站 logo
百科问答小站 font logo



为什么C++在构造函数和析构函数中不能抛出异常? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

我觉得最重要的是在逻辑上,当一个对象初始化到一半时,抛了异常的话,这个对象的状态应该如何定义?

不是全未初始化,也不是初始化完成。这种中间状态是要是扩散和暴露到外部代码中,会是很麻烦的。

如果说内部再维护一套更精细的状态指标,那完全不抛异常,用isReady之类的函数封装一下这个指标来指示这个对象的现状,也没什么麻烦。




  

相关话题

  既然有指针了,为什么c++还搞个引用出来? 
  为什么很多新型编程语言都抛弃了 C 语言风格的 for 语句? 
  假如有某种力量使得世界上所有编译器都被删除了, 人类是否需要从打孔卡开始写第一个编译器? 
  为什么C++中virtual要翻译为虚函数? 
  美剧《硅谷》第三季第一集神秘代码写的是什么? 
  c语言中,关于switch循环的这个疑问怎么解? 
  c++指针有啥优越性啊,什么情况下要用指针呐,大一初学有点不懂。? 
  如果人生有的选,18岁的你凭实力拿到清北录取通知书和因为房产红利变成资产总量三千万的家庭,选哪个? 
  在 C++ 里实现矩阵库的关键点是什么? 
  怎样理解C++中“如果属性有在堆区开辟的,一定要自己提供拷贝构造函数,防止浅拷贝带来的问题”? 

前一个讨论
我报了个钢琴班,8880元,上了两节课,要求退款合理吗?
下一个讨论
如何看待旧金山市议会宣布美国步枪协会为恐怖组织这一事件,它反映了美国政治的哪些问题?





© 2025-05-15 - tinynew.org. All Rights Reserved.
© 2025-05-15 - tinynew.org. 保留所有权利