linux

C++ Linux中如何使用模板

小樊
40
2025-12-05 02:25:45
栏目: 编程语言

在C++中,模板是一种泛型编程的工具,它允许程序员编写与类型无关的代码。模板可以用于函数和类。在Linux环境下使用C++模板的方法与在其他环境下使用相同。

以下是使用C++模板的一些基本示例:

  1. 函数模板:
#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;
}
  1. 类模板:
#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)和其他库中。

0
看了该问题的人还看了