Apa perbedaan antara #include
dan #import
di C ++?
95
#import
adalah hal khusus Microsoft, tampaknya hanya untuk barang COM atau .NET.
#include
adalah pernyataan praprosesor C / C ++ standar, digunakan untuk menyertakan file header (atau terkadang kode sumber lainnya) dalam file kode sumber Anda.
Impor di VC ++:
#import
adalah untuk jenis perpustakaan atau .tlbs (COM hal-hal).Konten pustaka tipe diubah menjadi kelas C ++, sebagian besar menjelaskan antarmuka COM untuk Anda secara otomatis, dan kemudian disertakan ke dalam file Anda.
The
#import
direktif diperkenalkan oleh Microsoft sebagai ekstensi untuk bahasa C ++. Anda dapat membacanya di artikel MSDN ini .The
#import
direktif juga digunakan dengan NET / hal-hal CLI.Impor di gcc: Impor di gcc berbeda dengan impor di VC ++. Ini adalah cara sederhana untuk menyertakan tajuk paling banyak sekali saja. (Di VC ++ dan GCC, Anda juga dapat melakukannya melalui
#pragma
sekali)The
#import
direktif secara resmi undeprecated oleh tim gcc di versi 3.4 dan berfungsi dengan baik 99% dari waktu dalam semua versi sebelumnya dari gcc yang dukunganInclude:
#include
adalah untuk sebagian besar file header, tetapi untuk menambahkan konten ke file Anda saat ini.#include
adalah bagian dari standar C ++. Anda dapat membacanya di artikel MSDN ini .sumber
#import
secara keseluruhan adalah solusi untuk yang biasabekerja di sekitar.
#import
menyertakan file hanya jika belum pernah disertakan sebelumnya.Perlu dicatat bahwa Objective-C Apple juga menggunakan
#import
pernyataan.sumber
import juga merupakan salah satu kata kunci yang terkait dengan n2073, Modules in C ++ , diusulkan kepada komite bahasa oleh Daveed Vandevoorde pada September 2006. Saya tidak cukup ahli bahasa untuk mengetahui apakah proposal itu sudah pasti disimpan atau menunggu implementasi (bukti konsep) dari penulis atau orang lain ...
sumber
Harap dicatat bahwa di gcc 4.1,
#import
sudah usang. Jika Anda menggunakannya, Anda akan mendapatkan peringatan:sumber