Skip to main content
 首页 » 编程设计

c++之取消引用不返回的函数时会发生什么

2025年05月04日30wayfarer

variableName = pointerName -> getValue(); 

假设 getValue()有两条路由,只有其中一条具有返回值( undefined ),但仍可以编译。如果这是在实时情况下,如果没有检查或捕获此无返回错误,会发生什么情况?它会使程序崩溃吗?

请您参考如下方法:

如果“退回”应该返回值的函数的末尾,则该行为是不确定的。那意味着什么都可能发生。 undefined 行为的典型示例:

  • 程序立即崩溃(这是您可能希望的最佳崩溃)
  • 程序稍后在代码
  • 的一些完全不相关的部分中崩溃
  • 该程序格式化硬盘
  • 该程序使您的监视器着火或爆炸(以前实际上是可能的)。
  • 该程序似乎在大多数时间都可以工作,但是偶尔(通常在向MD /重要客户/教授演示时)会崩溃。
  • 该程序仅在主要客户站点上安装并承受大量负载时才会崩溃。

  • 不要试图预测 undefined 的行为会发生什么,任何事情都会发生。