什么是模板<>内联bla bla

时间:2017-03-09 19:55:16

标签: c++ c++11

我偶然发现了以下内容:

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

无法理解空模板声明的作用?

2 个答案:

答案 0 :(得分:3)

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

template <typename T> void foo(T t) // Main template
{ 
  ... 
} 

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

在您的示例中,它应用于类成员函数的模板这一事实完全没有意义。声明inline函数的事实也完全不是重点。

答案 1 :(得分:1)