我在 Google 上进行了快速搜索,但找不到与该确切主题相关的任何内容。
随着 C++ 继续朝着成为一种更现代的语言发展,包括 lambda、基于范围的 for 循环等,似乎这个问题最终可能会出现,如果它还没有出现的话。
我看不出这怎么可能是一件好事,并提供在 C++/CLI、C#、Java 等中被证明有用的相同好处。如果有人不想要这种行为,它可能只是设为可选,并通过编译器设置关闭,就像禁用标准异常或 RTTI 一样。
此外,有人建议,但不鼓励为 SIGSEGV 创建信号处理程序并从那里抛出异常,以模拟建议的行为。现在,虽然这有点小技巧,并且不能保证在所有平台上都有效,但是如果可以用大约 10 行来模拟(非标准)相同的基本行为,那么在 C++ 中实现空引用异常到底有多难代码?
那么,是否有任何技术或其他原因导致错误的指针访问引发异常最终无法成为未来标准的一部分?