zah*_*pov 27 c++ coding-style exception llvm clang
llvm/clang被认为是很好的C++代码库.我想知道为什么C++异常根本不用于它们?
使用类似池的内容管理内存,并使用返回值和C中的代码报告错误.它们甚至将operator new包装为placement new,返回错误,而没有内存时也不例外.
您是否知道为什么llvm哲学在大多数书籍推荐使用时不会使用C++异常?
编写异常安全的c ++代码是一项艰巨的任务.
关闭异常可以加快代码执行速度并减少代码大小.
也许这是相关的.
根据您的编译器和代码,使用异常的程序可能比禁用和不使用异常的等效程序更快或更慢.使用异常的那个也可能更大或更小.
每个错误处理策略都会产生一些成本,我希望LLVM开发人员考虑他们的情况,并发现禁用异常是LLVM的更好决策.
我的建议,以及我从专家那里看到的建议,是使用例外报告失败,除非你有一些特定的,坚实的理由不这样做.如果你的理由是表现,那么选择分析是明智的.请记住,将使用异常的代码与不能代码但仍能正确处理错误的代码进行比较至关重要.