C++模板相关算法总结

目录

一、背景

二、C++模版

2.1、函数模板

2.2、类模板

2.3、模板特化

三、常见模板算法总结 

四、模板编程中的常见问题


一、背景

        C++模板(Templates)是一种强大的工具,允许我们编写通用的、类型无关的代码。在C++中,模板主要有两种形式:函数模板和类模板。

 

二、C++模版

2.1、函数模板

        函数模板允许我们定义一个函数的通用形式,这个函数可以接受任何类型的参数。以下是一个简单的函数模板示例:

#include <iostream>

template <typename T>
T max(T a, T b) {
    return (a > b) ? a : b;
}

int main() {
    std::cout << "Max of 3 and 7: " << max(3, 7) << std::endl;
    std::cout << "Max of 3.5 and 2.1: " << max(3.5, 2.1) << std::endl;
    std::cout << "Max of 'a' and 'z': " << max('a', 'z') << std::endl;
    return 0;
}

         在这个例子中,max模板函数可以用于比较整数、浮点数和字符。

2.2、类模板

        类模板允许你定义一个类的通用形式,这个类可以处理不同的数据类型。以下是一个简单的类模板示例:

#include <iostream>

template <typename T>
class Pair {
private:
    T first, second;

public:
    Pair(T a, T b) : first(a), second(b) {}

    T getFirst() const {
        return first;
    }

    T getSecond() const {
        return second;
    }
};

int main() {
    Pair<int> intPair(1, 2);
    Pair<double> doublePair(3.14, 2.71);

    std::cout << "Int Pair: (" << intPair.getFirst() << ", " << intPair.getSecond() << ")" << std::endl;
    std::cout << "Double Pair: (" << doublePair.getFirst() << ", " << doublePair.getSecond() << ")" << std::endl;
    return 0;
}

        在这个例子中,Pair类模板可以用于存储两个整数或两个浮点数。

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大王算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值