c++的templet
C++的模板是一种通用的编程工具,它可以用来创建通用的数据类型或函数。模板允许程序员编写可以适用于多种数据类型的代码,从而提高代码的重用性和灵活性。
模板可以用于创建类模板和函数模板。
类模板是一个通用的类定义,其中的某些成员可以根据用户指定的数据类型进行实例化。例如,可以创建一个通用的容器类模板,它可以存储任意类型的数据。
函数模板是一个通用的函数定义,其中的某些函数参数和返回值可以根据用户指定的数据类型进行实例化。例如,可以创建一个通用的排序函数模板,它可以对任意类型的数据进行排序。
下面是一个简单的类模板和函数模板的例子:
// 类模板
template <typename T>
class MyContainer {
public:
MyContainer(T value) : data(value) {}
T getValue() { return data; }
private:
T data;
};
// 函数模板
template <typename T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
int main() {
// 使用类模板
MyContainer<int> container(10);
int value = container.getValue();
std::cout << value << std::endl;
// 使用函数模板
int a = 1, b = 2;
swap(a, b);
std::cout << a << " " << b << std::endl;
return 0;
}
在上面的例子中,类模板MyContainer定义了一个通用的容器类,可以存储任意类型的数据。函数模板swap定义了一个通用的交换函数,可以用于交换任意类型的变量。
使用模板时,需要在模板参数前加上typename或class关键字,并在定义或使用模板时提供实际的类型参数。在上面的例子中,MyContainer<int>实例化了一个存储整数的容器类,swap(a, b)实例化了一个交换整数的函数
原文地址: https://www.cveoy.top/t/topic/iy38 著作权归作者所有。请勿转载和采集!