Entiendo el comportamiento de const
-tipos de datos calificados. Tengo curiosidad, sin embargo, si hay alguna ganancia o pérdida de rendimiento por exceso o falta de celo de las variables calificativas como const
. Estoy pensando particularmente en las variables declaradas y usadas exclusivamente dentro de un bloque de código aislado. Por ejemplo, algo como:¿Declarar las variables de C++ ayuda o perjudica el rendimiento?
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);
Supongamos que sólo necesito const
métodos Calificado sobre todos estos temas ¿Hay alguna ganancia de rendimiento en declarar a todos const
(y más.)? O, por el contrario, ¿esto en realidad perjudica el rendimiento?
tengo curiosidad por tanto el rendimiento en tiempo de ejecución (estoy conjeturando que esto no hace ninguna diferencia en cuanto al const
es exclusivamente una comprobación en tiempo de compilación - alguien puede confirmar?) Y el tiempo de compilación rendimiento. No tengo suficiente experiencia con C++ para tener una idea de esto, y me pregunto si debería equivocarme por exceso o por defecto de aplicación de const
cuando todas las demás cosas (mantenibilidad, etc.) son iguales.
en la mayoría de los casos, no hay diferencia de rendimiento en tiempo de ejecución – Anycorn
dupe? http://stackoverflow.com/questions/3435026/can-const-correctness-improve-performance – Anycorn
Qt es mucho copy-on-write así que sospecho que const puede tener un efecto real aquí. –