我理解const
限定的数据类型的行为。然而,我很好奇,过度或不够热情地将变量标记为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++经验来感受到这一点,并且想知道当所有其他事情(可维护性等)相等时,我是否应该过度或不够应用const
。