gpt4 book ai didi

c++ - 专业模板 - 目的

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:03:39 28 4
gpt4 key购买 nike

我知道 c++ 中的模板是做什么的,但是今天我看到了一些奇怪的代码:

template <> void swap(foo &a, foo &b)
{
a.name = b.name;
a.id = 1;
// blah blah blah
}

我做了一些研究,发现它被称为专用模板,或类似的东西。

如果在上面的代码中我删除 template <> 部分,我会得到完全相同的结果。也没有像通常的模板函数那样的通用类型...

我的问题是 - 使用它们的目的是什么?

最佳答案

从该函数中删除 template <> 会导致以下更改:

  1. 它不会是一个模板特化
  2. 不会从代码 swap ( a, b )
  3. 中调用
  4. a 和/或 b可能swap( a, b ) 的最佳匹配是可转换foo的类型。

关于c++ - 专业模板 - 目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16109499/

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