why STL header files have no extension?
I got this basic doubt. The STL header doesn't have .h extension. #include <vector> #include <map> Is there is any specific reason behind this? Anybody knows history behind this, please share. EDIT : @GMan found Michael Burr's answer which addresses this question. The #include directive doesn't discriminate file types (it's just a glorified copy-paste operation) - no automatic adding of .h is happening. C++ standard header files are provided without the .h extension Sometimes backward compatibility header files are provided by the vendor with the same name with the .h extension added It all