<p>What is the difference between <code>#include</code> and <code>#import</code> in C++?</p>

Import in VC++:
```
#import
```
is for type libraries or .tlbs (COM stuff).
The content of the type library is converted into C++ classes, mostly describing the COM interfaces for you automatically, and then it is included into your file.
The
```
#import
```
directive was introduced by Microsoft as an extension to the C++ language.  You can read about it at
this MSDN article
.
The
```
#import
```
directive is also used with .NET / CLI stuff.
Import in gcc:
The import in gcc is different from the import in VC++. It is a simple way to include a header at most once only.  (In VC++ and GCC you can do this via
```
#pragma
```
once as well)
The
```
#import
```
directive was officially undeprecated by the gcc team in version 3.4 and works fine 99% of the time in all previous versions of gcc which support
Include:
```
#include
```
is for mostly header files, but to prepend the content to your current file.
```
#include
```
is part of the C++ standard.  You can read about it at
this MSDN article
.