我已经阅读了很多有关C++异常的内容,特别是异常性能是一个难题。我甚至尝试着去查看g++如何在汇编中表示异常。
作为一名C程序员,我更喜欢低级语言。不久前,我决定使用C++而非C,因为用很小的代价可以让我的生活更轻松(类优于结构体,模板等)。
回到我的问题,据我所见,异常只有在发生时才会产生额外开销,因为它需要一长串跳转和比较指令来找到合适的异常处理程序。在正常程序执行(没有错误的情况下),异常的开销与正常的返回代码检查相当。我对吗?
我已经阅读了很多有关C++异常的内容,特别是异常性能是一个难题。我甚至尝试着去查看g++如何在汇编中表示异常。
作为一名C程序员,我更喜欢低级语言。不久前,我决定使用C++而非C,因为用很小的代价可以让我的生活更轻松(类优于结构体,模板等)。
回到我的问题,据我所见,异常只有在发生时才会产生额外开销,因为它需要一长串跳转和比较指令来找到合适的异常处理程序。在正常程序执行(没有错误的情况下),异常的开销与正常的返回代码检查相当。我对吗?
try
块和具有析构函数的对象的创建触发。gprof
。 - Chris Schmich