Как человек в комитете по стандартизации (X3J16), который предложил убрав .h, мое первоначальное намерение состояло в том, чтобы урегулировать спор по поводу .h файла, .Н, .hpp, .hxx или .h ++ расширения; или желание некоторых, что в стандарте не подразумевается, что это было имя файла на диске, чтобы позволить IDE вытаскивать предварительно скомпилированную информацию заголовка из какого-то внутреннего, как файл ресурсов, или даже кишки компилятор.
Хотя Unix считал, что имя файла является одной строкой и на самом деле не признает концепцию расширения, операционные системы DEC имели традицию отделять имя от расширения и поставлять «расширение по умолчанию», если оно было опущено в конкретных контекстах. Вот откуда у меня появилась идея оставить это до реализации, чтобы использовать любое расширение, которое захотелось использовать, и это позволило реализации даже не иметь этот файл на диске. (Я был членом DEC в комитете в то время.)
Дифференциация между стандартными и предстандартными заголовками была дополнительным преимуществом.
См. [Этот вопрос] (http://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename) для разницы между <> и "" , – aib 2008-10-18 00:56:53