8
我有這個基本的疑問。 STL標頭沒有.h
擴展名。爲什麼STL頭文件沒有擴展名?
#include <vector>
#include <map>
這背後有什麼具體原因嗎?任何人都知道背後的歷史,請分享。
編輯:
@GMan發現Michael Burr's answer 它解決了這個問題。
我有這個基本的疑問。 STL標頭沒有.h
擴展名。爲什麼STL頭文件沒有擴展名?
#include <vector>
#include <map>
這背後有什麼具體原因嗎?任何人都知道背後的歷史,請分享。
編輯:
@GMan發現Michael Burr's answer 它解決了這個問題。
這一切都做與命名空間。用於C++標準報頭中的對應的.h通常來#include正確C++標準頭(無h擴展),然後發出一束使用(這樣的)的:
FILE:iostream.h
#include <iostream>
using std::iostream;
using std::ostream;
using std::ios;
...
而沒有.h擴展名的頭文件不會污染具有所有定義的類和類型的名稱空間。
Duplicate:http://stackoverflow.com/questions/441568/when-can-you-omit-the-file-extension-in-an-include-directive – GManNickG 2009-05-23 09:42:20
謝謝@GMan。我在SO和谷歌搜索沒有透露這一點。這是因爲相關的問題有點不同。無論如何,我覺得邁克爾伯爾的回答解決了我的問題。 – 2009-05-23 09:50:00