声明C变量const是否有助于或损害性能?

前端之家收集整理的这篇文章主要介绍了声明C变量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主要是编译时的事情,然而,将const声明为const有时允许某些优化.如果有问题的代码不是性能瓶颈,我不会担心它只是按照预期使用const:产生更清晰的代码并防止自己做愚蠢的事情.

猜你在找的C&C++相关文章