gpt4 book ai didi

c++ - 在 C++ 中专门化函数模板的语法

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:44:29 25 4
gpt4 key购买 nike

假设我有一个函数模板,其中类型参数仅用作返回类型:

template <typename T>
T foo()
{
return whatever;
}

那么特化该函数模板的正确语法是什么?以下两项似乎都有效:

template <>
std::string foo()
{
return whatever;
}

template <>
std::string foo<std::string>()
{
return whatever;
}

这两者有什么区别吗?如果不是,惯用的方法是什么?

最佳答案

编译器将根据提供的信息(此处为函数返回类型)推断出正确的模板特化。

所以这些语法具有完全相同的行为,一个比另一个更明确。

关于c++ - 在 C++ 中专门化函数模板的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6957419/

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