linux

Linux中C++如何使用模板

小樊
53
2025-07-28 06:09:54
栏目: 编程语言

在 Linux 中,C++ 模板的使用与在其他操作系统中的使用相同。模板是 C++ 的一个强大功能,它允许你编写通用的、可重用的代码。模板可以用于函数和类。

以下是一些关于如何在 Linux 中使用 C++ 模板的示例:

  1. 函数模板
#include <iostream>

template <typename T>
T add(T a, T b) {
    return a + b;
}

int main() {
    int a = 5, b = 6;
    double c = 7.5, d = 8.5;

    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;
    }

    void set(int index, T value) {
        if (index >= 0 && index < size) {
            data[index] = value;
        }
    }

    T get(int index) const {
        if (index >= 0 && index < size) {
            return data[index];
        }
        return T();
    }
};

int main() {
    Array<int> intArray(5);
    intArray.set(0, 1);
    intArray.set(1, 2);
    intArray.set(2, 3);
    intArray.set(3, 4);
    intArray.set(4, 5);

    for (int i = 0; i < 5; ++i) {
        std::cout << "intArray["<< i << "] = " << intArray.get(i) << std::endl;
    }

    Array<double> doubleArray(3);
    doubleArray.set(0, 1.1);
    doubleArray.set(1, 2.2);
    doubleArray.set(2, 3.3);

    for (int i = 0; i < 3; ++i) {
        std::cout << "doubleArray["<< i << "] = " << doubleArray.get(i) << std::endl;
    }

    return 0;
}

要编译这些示例,请在终端中使用 g++ 编译器:

g++ -o example example.cpp

然后运行生成的可执行文件:

./example

这将显示模板函数和类的输出。

0
看了该问题的人还看了