c++ template在.h
时间: 2024-09-20 18:11:56 浏览: 36
和矩阵相关的头文件matrix.h
5星 · 资源好评率100%
在C++中,`.h`(头文件,通常以`.hpp`或`.hxx`结尾)文件是用来声明模板的。当你在一个`.h`文件中声明一个模板函数或类,你只是告诉其他源文件(`.cpp`文件)存在这样的模板,而不会立即编译模板本身。这样做可以保持代码的封装性和复用性。
例如,你可能会有一个名为`MathUtils.hpp`的头文件,其中包含模板函数的声明:
```cpp
// MathUtils.hpp
#ifndef MATHUTILS_H
#define MATHUTILS_H
template<typename T>
T max(T a, T b);
#endif // MATHUTILS_H
```
在这个例子中,`max`函数是一个模板,`typename T`用于说明变量类型未知,会在使用时由编译器推断或显式指定。
然后在另一个`.cpp`文件中,你可以这样使用它:
```cpp
#include "MathUtils.hpp"
int main() {
int intMax = max<int>(10, 5);
double doubleMax = max<double>(3.14, 2.71);
return 0;
}
```
这里,`#include`会引入头文件,使得`main.cpp`能够看到`max`函数,并在需要时实例化。
阅读全文