Tengo una clase cnVector
que representa un punto en el espacio tridimensional. Sus operadores + - */se usan intensamente.
Su aplicación es muy corto:¿Debo usar `inline` en funciones muy usadas?
cnVector cnVector::operator + (const cnVector& v) const {
return cnVector(
x + v.x,
y + v.y,
z + v.z);
}
Mi pregunta es, porque esta función es muy corto, debo inline que a pesar de su uso intensivo? ¿O generaría demasiado código al usarlo que mucho?
Marque funciones tan simples como en línea. Sin embargo, no importa mucho si le dices al compilador que alinee cualquiera que se vea bien. "Inline any suitable" en MSVC. No sé sobre GCC. –
La transferencia de GCC ['-finline-functions'] (http://gcc.gnu.org/onlinedocs/gcc/Inline.html) le indicará que incorpore automáticamente las funciones que cree que deberían estar en línea. –
Mi GCC (4.4.5) aplica '-finline-small-functions' como una optimización básica (es decir, bajo' -O'/'-O1' y superior). –