Pliere constantă
expresiile cu operanzi constanți pot fi evaluate la momentul compilării, îmbunătățind astfel performanța în timpul rulării și reducând dimensiunea codului prin evitarea evaluării la momentul compilării.
exemplu:
în fragmentul de cod de mai jos, expresia (3 + 5) poate fi evaluată la compilare și înlocuită cu constanta 8.
int f (void){ return 3 + 5;}
mai jos este fragmentul de cod după pliere constantă.
int f (void){ return 8;}
Note:
pliere constantă este o optimizare relativ ușor.
programatorii nu scriu în general expresii precum (3 + 5) direct, dar aceste expresii sunt relativ frecvente după expansiunea macro și alte optimizări, cum ar fi propagarea constantă.
toate compilatoarele C pot plia expresii constante întregi care sunt prezente după expansiunea macro (cerința ANSI C). Majoritatea compilatoarelor C pot plia expresii constante întregi care sunt introduse după alte optimizări.
unele medii acceptă mai multe moduri de rotunjire în virgulă mobilă care pot fi modificate dinamic în timpul rulării. În aceste medii, expresii precum (1.0 / 3.0) trebuie evaluate în timpul rulării dacă modul de rotunjire nu este cunoscut la momentul compilării.