我理解const限定数据类型的行为.不过,我很好奇,如果合格变量的过度或不足的表现有任何性能增益或损失为常数.我特别想到在隔离的代码块中声明和使用的变量.例如,类似于:
const qreal padding = CalculatePadding(); const QSizeF page_size = CalculatePagePreviewSize(padding); const QRectF content_rect = CalculatePagePreviewContentRect(page_size); const QList<QRectF> pages = renderer.BuildPrintPages(printer_,map_scene_); const QFont page_number_font = CalculatePageNumberFont(); const QFontMetrics metrics(page_number_font);
假设我只需要所有这些(以及更多)的const限定方法.在声明它们所有const时是否有任何性能提升?或者,相反,这实际上是否会损害性能?
我很好奇两个运行时性能(我猜这没有区别,因为const只是一个编译时检查 – 有人可以确认吗?)和编译时性能.我对c没有足够的经验来感受这一点,并且我想知道当所有其他事情(可维护性等)相等时我是否应该在过度或不足的情况下犯错.