¿Nunca se debe usar la función en línea estática?

Hay dos implicaciones de usar elinline palabra clave (§ 7.1.3 / 4):

Esoinsinuaciones el compilador de que la sustitución del cuerpo de la función en el punto de llamada es preferible al mecanismo de llamada de la función habitual.Incluso si se omite la sustitución en línea, las otras reglas (especialmente w.r.tUna regla de definición) para inline se siguen.

Por lo general, cualquier compilador convencional sustituirá el cuerpo de la función en el punto de llamada si es necesario, por lo que la función de marcadoinline meramente para#1 No es realmente necesario.

Además w.r.t#2, Como entiendo cuando usted declara una función comostatic inline función,

losstatic palabra clave en la función obliga a lainline función para tener un enlace interno (Las funciones en línea tienen un enlace externo) Cada instancia de tal función se trata como una función separada (La dirección de cada función es diferente.) y cada instancia de estas funciones tiene sus propias copias de variables locales estáticas y cadenas literales (una función en línea tiene una sola copia de estos)

Así, tal función actúa como cualquier otra.static función y la palabra claveinline Ya no tiene importancia, se vuelve redundante.

Entonces, prácticamente marcando una funciónstatic yinline Ambos no tienen ningún uso en absoluto. O bien debería serstatic(no más preferido) oinline(Más preferido)
Entonces esta usandostatic yinline juntos en una funciónprácticamente ¿inútil?

Respuestas a la pregunta(5)

Su respuesta a la pregunta