在C++中,模板是一种泛型编程的工具,它允许程序员编写与类型无关的代码。模板可以用于函数和类。在Linux环境下使用C++模板的方法与在其他环境下使用相同。
以下是使用C++模板的一些基本示例:
#include <iostream>
template <typename T>
T add(T a, T b) {
return a + b;
}
int main() {
int a = 1, b = 2;
double c = 3.0, d = 4.0;
std::cout << "整数相加: " << add<int>(a, b) << std::endl;
std::cout << "浮点数相加: " << add<double>(c, d) << std::endl;
return 0;
}
#include <iostream>
template <typename T>
class Array {
private:
T* data;
int size;
public:
Array(int size) : size(size) {
data = new T[size];
}
~Array() {
delete[] data;
}
T& operator[](int index) {
return data[index];
}
const T& operator[](int index) const {
return data[index];
}
int getSize() const {
return size;
}
};
int main() {
Array<int> intArray(5);
Array<double> doubleArray(3);
for (int i = 0; i < intArray.getSize(); ++i) {
intArray[i] = i * i;
std::cout << intArray[i] << " ";
}
std::cout << std::endl;
for (int i = 0; i < doubleArray.getSize(); ++i) {
doubleArray[i] = i * i * i;
std::cout << doubleArray[i] << " ";
}
std::cout << std::endl;
return 0;
}
要编译这些示例,你可以使用g++编译器。例如,对于第一个示例,可以使用以下命令:
g++ -o template_example template_example.cpp
然后运行生成的可执行文件:
./template_example
模板是C++中非常强大的特性,它们可以帮助你编写更通用、可重用的代码。在实际项目中,模板广泛用于标准库(如STL)和其他库中。