Optimización de código de plantilla para valores específicos de parámetros que no son de tipo.
template <bool flag>
class foo
{
public:
int bar()
{
if(flag)
{
// stuff
}
}
};
Cuando el compilador compila esta clase, reemplaza el parámetro indicador por verdadero o falso. Luego tenemos if (verdadero) (o if (falso)). Luego, la cláusula if verifica contra una expresión constante y SERÁ RETIRADA en tiempo de compilación. ¿Puedo esperar que los compiladores se comporten así?