tutorial - visual studio code c++ mingw
C++ incluye e importa la diferencia (5)
Tenga en cuenta que en gcc 4.1, #import
está en desuso. Si lo usa, recibirá una advertencia:
#import
es una extensión de GCC en desuso
¿Cuál es la diferencia entre #include
y #import
en C ++?
#import
es algo específico de Microsoft, aparentemente solo para COM o .NET.
#include
es una instrucción de preprocesador C / C ++ estándar, que se utiliza para incluir los archivos de encabezado (u ocasionalmente otro código fuente) en su archivo de código fuente.
#import
es en general una solución a lo habitual
#ifndef ...
#define ...
#include ...
#endif
trabajo-alrededor. #import
incluye un archivo solo si no se ha incluido antes.
Vale la pena señalar que Objective-C de Apple también utiliza sentencias #import
.
La importación también fue una de las palabras clave asociadas con n2073, Modules in C ++ , propuesta por Daveed Vandevoorde al comité de idiomas en septiembre de 2006. No soy lo suficientemente friki como para saber si esa propuesta se archivó definitivamente o si está esperando una implementación. (prueba de concepto) del autor u otra persona ...
Importar en VC ++: #import
es para bibliotecas de tipos o .tlbs (cosas COM).
El contenido de la biblioteca de tipos se convierte en clases de C ++, la mayoría describe las interfaces COM automáticamente y luego se incluye en su archivo.
La directiva #import
fue introducida por Microsoft como una extensión del lenguaje C ++. Puede leer sobre esto en este artículo de MSDN .
La directiva #import
también se usa con cosas de .NET / CLI.
Importar en gcc: la importación en gcc es diferente de la importación en VC ++. Es una forma simple de incluir un encabezado como máximo una vez. (En VC ++ y GCC puedes hacer esto también a través de #pragma
)
La directiva #import
fue oficialmente dejada de lado por el equipo de gcc en la versión 3.4 y funciona bien el 99% del tiempo en todas las versiones anteriores de gcc que admiten
Incluir: #include
es principalmente para archivos de encabezado, pero para anteponer el contenido a su archivo actual. #include
es parte del estándar de C ++. Puede leer sobre esto en este artículo de MSDN .