什么是模板<>inline bla bla

What is template<> inline bla bla

本文关键字:bla inline gt 什么 lt      更新时间:2023-10-16

我偶然发现了以下内容:

template<> inline bool Value::GetValue<bool>() const {
    return m_Value.ValueBoolean();   // union
}

无法理解空模板声明是什么?

这是类型bool的模板函数的显式专业化。明确的专业化是使用template <>语法的地方。

template <typename T> void foo(T t) // Main template
{ 
  ... 
} 
template <> void foo<bool>(bool b) // Explicit specialization for type `bool`
{ 
  ... 
} 

在您的示例中,它应用于类成员函数模板的模板是完全无关紧要的。该函数声明为inline的事实也完全是点。

这是一个明确的专业化。