C ++ inclui e importa diferença
Qual é a diferença entre #includee #importem C ++?
#import é uma coisa específica da Microsoft, aparentemente apenas para coisas COM ou .NET.
#include é uma instrução de pré-processador C / C ++ padrão, usada para incluir arquivos de cabeçalho (ou ocasionalmente outro código-fonte) em seu arquivo de código-fonte.
Isso não é verdade. A diretiva #import não foi oficialmente substituída pela equipe do gcc na versão 3.4 e funciona bem 99% do tempo em todas as versões anteriores do gcc com suporte
... que suportam #import
Curioso, eu não sabia disso. Talvez eu devesse ter dito que é uma coisa específica do COM e do .NET.
O #import suportado pelo gcc é uma maneira não portável de incluir um cabeçalho apenas uma vez: <a href=" gcc.gnu.org/onlinedocs/gcc-4.3.2/cpp/…> . Não está totalmente relacionado ao Microsoft COM # importação.
— fizzer
O GCC #import é na verdade um comando do pré-processador Objective-C que funciona com arquivos .c no gcc e clang (exceto no modo pedante).
Importar em VC ++: #import é para bibliotecas de tipos ou .tlbs (coisas COM).
O conteúdo da biblioteca de tipos é convertido em classes C ++, principalmente descrevendo as interfaces COM para você automaticamente e, em seguida, é incluído em seu arquivo.
A #importdiretiva foi introduzida pela Microsoft como uma extensão da linguagem C ++. Você pode ler sobre isso neste artigo do MSDN .
A #importdiretiva também é usada com coisas .NET / CLI.
Importar no gcc: a importação no gcc é diferente da importação no VC ++. É uma maneira simples de incluir um cabeçalho no máximo uma vez. (Em VC ++ e GCC você pode fazer isso via#pragma uma vez)
A #importdiretiva não foi oficialmente adotada pela equipe do gcc na versão 3.4 e funciona bem 99% do tempo em todas as versões anteriores do gcc que suportam
Incluir: #include destina-se principalmente a arquivos de cabeçalho, mas para anexar o conteúdo ao arquivo atual. #includefaz parte do padrão C ++. Você pode ler sobre isso neste artigo do MSDN .
Seus links do MSDN estão desatualizados. Obrigado Microsoft.
#importé uma solução geral para o usual
Gambiarra. #importinclui um arquivo apenas se ele não tiver sido incluído antes.
Pode ser interessante notar que o Objective-C da Apple também usa #importinstruções.
— Thatha
import também foi uma das palavras-chave associadas a n2073, Módulos em C ++ , proposta ao comitê de linguagem por Daveed Vandevoorde em setembro de 2006. Não sou um geek da linguagem para saber se essa proposta foi definitivamente arquivada ou se está aguardando uma implementação (prova de conceito) do autor ou de outra pessoa ...
Daveed era um funcionário da EDG na época, então eu esperava que eles tivessem esse código funcionando.
Espero que eles tenham feito o trabalho braçal necessário, porque seria muito bom mudar de '#include' para um mecanismo de importação. Mas eu nunca ouvi falar sobre esse recurso e tenho certeza de que não está em C ++ 0X. Talvez algum tempo antes de eu me aposentar; ^) ~