gpt4 book ai didi

c++ - 如何识别部分模板特化

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

我正在研究模板,我在其中找到了这个例子:

template <typename T, int size>
void print(StaticArray<T, size> &array)
{
for (int count = 0; count < size; ++count)
std::cout << array[count] << ' ';
}


template <int size>
void print(StaticArray<char, size> &array)
{
for (int count = 0; count < size; ++count)
std::cout << array[count];
}

为什么第二个 print 函数即使有 non-type 参数 size 也能工作,为什么它是完整的模板特化。

最佳答案

不,这不是特化,而是function template overloads , 采用不同的模板参数。

如您所说,第二个重载仍然有一个模板参数,因此它不是完全特化。和 partial specialization函数模板不允许;它仅适用于类模板。

关于c++ - 如何识别部分模板特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46658927/

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