2010-05-04 55 views

Respuesta

71

inline es la palabra clave, en C++ y C99.

__inline es una palabra clave específica del proveedor (por ejemplo, MSVC) para la función en línea en C, ya que C89 no la tiene.

es similar a __inline pero es de otro conjunto de compiladores.

__forceinline es otra palabra clave específica del proveedor (principalmente MSVC), que aplicará más fuerza para alinear la función que la sugerencia __inline (por ejemplo, en línea aunque dé como resultado un código peor).

También hay __attribute__((always_inline)) en GCC y clang.

+10

__forceinline es una pista más contundente que la línea, pero sigue siendo solo una pista (http://msdn.microsoft.com/en-us/library/z8y1yy88%28VS.80%29.aspx). –

+0

Quizás considere cambiar el idioma "Microsoft-specific" a "específico del proveedor" o algo así. Muchos de los conjuntos de herramientas de desarrollo cruzado que uso también soportan __inline y __forceinline. El mundo es más grande que MSOFT ;-) – Dan

+1

Oops accidentalmente CW-ed la publicación. Lo que sea. – kennytm

18

__inline, y __forceinline son todos específicos de la implementación. Debido al doble guión bajo, todos son identificadores reservados para la implementación, por lo que no deben entrar en conflicto con los identificadores utilizados en las aplicaciones.

inline es la única palabra clave de C++.

Cuestiones relacionadas