.h vs .hpp
在 project 中,常常會看到 .h 和 .hpp 的檔案。 這個到底有什麼不同呢?
.hpp 和 .h 文件在本質上是相同的
.hpp 和 .h 文件在本質上是相同的,都是C++和C語言中用於定義函數原型、類聲明、常量和宏定義的頭文件。它們的主要區別在於擴展名的命名慣例和用途的歷史來源。
.h 文件 擴展名:.h 是歷史上用於C語言頭文件的標準擴展名,它代表“header”(頭文件)。 用途:.h 文件通常包含C函數原型、常量、宏定義和結構的聲明,用於提供接口給其他源文件使用。 .hpp 文件 擴展名:.hpp 是相對較新的擴展名,通常用於C++頭文件。它代表“header plus plus”(頭文件加加),表示這是一個C++頭文件。 用途:.hpp 文件也包含類聲明、函數原型、常量和宏定義,但更常用於C++中,用於提供C++類的接口。
現代慣例和推薦
在C++項目中,.hpp 擴展名更常見,並且被推薦用於C++頭文件。 在C項目中,.h 擴展名仍然是一個常見的標準,並且被廣泛接受。
順便一提 當你在 c++ 中做 #include 時,外部相依性 會自動幫你把所 #include 的 header 及其相關的引用自動加入 外部相依性
簡單的 Hello World
只是 #include <iostream>,其中外部相依性中就可以看到非常多被加入
#include <iostream> #include <algorithm>
所以當你 project 中檔案越來越多,#include header 的地方到處都有, 外部相依性 可以幫你快速看到所有的相依性, 只是數目會比你想像的多很多就是了。





