这个语法在C ++中意味着什么?

时间:2017-12-07 21:47:47

标签: c++ class inheritance std colon

好的,我正在玩c ++标准头文件,我接受了以下语法,

template<typename _Rep>
struct treat_as_floating_point
    : is_floating_point<_Rep>
{
};

我知道如何使用模板,结构与除了public和private之外的类相同,我知道如何使用类。

所以,我认为这是某种成员初始化,因为:,模板专业化,但我不知道。

1 个答案:

答案 0 :(得分:0)

代码中的:并不意味着在此上下文中的成员初始化,而是继承。继承写为

class Derived : Base
{
};

代码使用带继承的模板。 treat_as_floating_point<T>是模板/泛型类型,它继承自模板实例化is_floating_point<T>,其中T是一种类型。