gpt4 book ai didi

c++ - 在类里面使用模板

转载 作者:行者123 更新时间:2023-11-30 01:58:42 25 4
gpt4 key购买 nike

我是 C++ 的新手,我的问题看起来很简单。我无法理解这些代码:

template<typename a, typename b>
bool operator < (const Pair<a,b> &op1 , const Pair<a,b> &op2)
{
return (op1.first() < op2.first())
};

operator 好像是一个函数,它的输出类型是bool。那么这个"template"是做什么用的呢?因为这个模板已经定义在类定义之前。

     template<typename a, typename b>
class Pair { ...

最佳答案

模板将替换为 a 的任何类型和 b出现。这意味着您不必显式编写相同的代码来处理 int,double , int,int , double,int , double,double等等。如果没有模板,您将不得不为每种情况编写一个函数重载,或者依赖于类型转换。

当您将该模板放在整个类上时,这意味着该类是专门为包含您为其提供的任何类型而构建的。所以Pair<a,b>可以是Pair<int,double>等等……

关于c++ - 在类里面使用模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17034258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com