llamando a sizeof en una función, la llamada salta realmente llamando a la función!}
Me encontré con este pedazo de código.
<code>int x(int a){ std::cout<<a<<std::endl; return a + 1; } int main() { std::cout<<sizeof(x(20))<<std::endl; return 0; } </code>
Esperaba que se imprimiera 20 seguido de 4. Pero solo imprime 4. ¿Por qué sucede así? ¿No es incorrecto optimizar una función que tiene un efecto secundario (imprimir en IO / archivo, etc.)?