一个.h .hpp 笔记
核心区别:.hpp 是C++专属头文件,通常包含声明+实现;.h 是C/C++通用头文件,默认按C语法处理(C++中需额外声明兼容)。
1. 用途与语言绑定
◦ .hpp:专门给C++用,文件名直接体现“C++ Header”,代码里可直接写类、模板、内联函数(声明+实现可放一起,无需拆分到.cpp)。
◦ .h:C语言的标准头文件格式,C++也能兼容,但C++若用.h,需在文件开头加 extern "C" { ... } 声明,否则编译器会按C++语法解析(导致C代码链接错误)。
2. 内容习惯
◦ .hpp 更“一站式”:因C++模板、内联函数的实现必须在头文件(否则编译找不到),.hpp 常直接包含完整实现(不用拆.cpp),比如STL头文件(vector.hpp)。
◦ .h 更“精简”:C语言中.h只放声明(函数、变量声明),实现全放.c文件;C++用.h时也延续此习惯,避免内容冗余。