linux

Linux C++中如何使用模板

小樊
53
2025-07-04 00:55:05
栏目: 编程语言

在C++中,模板是一种泛型编程的工具,它允许你编写与类型无关的代码。模板可以用于函数和类。在Linux环境下使用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;
    }

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

    return 0;
}

在这些示例中,我们使用了typename关键字来定义模板参数。当你实例化一个模板时,编译器会根据你提供的类型生成相应的代码。

要在Linux环境下编译这些示例,请将代码保存到文件中(例如template_example.cpp),然后使用g++编译器编译:

g++ -o template_example template_example.cpp

编译成功后,运行生成的可执行文件:

./template_example

这将显示示例程序的输出。

0
看了该问题的人还看了