Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 模板<&燃气轮机;(在<;>;中没有任何T类)是指?_C++_Templates - Fatal编程技术网

C++ 模板<&燃气轮机;(在<;>;中没有任何T类)是指?

C++ 模板<&燃气轮机;(在<;>;中没有任何T类)是指?,c++,templates,C++,Templates,我正在读stl_construct.h中的一些源代码, 在大多数情况下,它都有某种意义 我看到一些行只有“模板…””。 这是什么?这意味着接下来是一个问题。我猜,我完全误解了问题,回答了一些没有被问到的问题。 因此,我在这里回答被问到的问题: 它是一个带有空模板参数列表的。 当您使用一组给定的模板参数实例化模板时,编译器将基于这些模板参数生成一个新定义。但是有一种工具可以覆盖定义生成的这种行为。我们可以指定编译器应该用于给定模板参数集的定义,而不是编译器生成定义。这称为显式专门化 templat

我正在读stl_construct.h中的一些源代码, 在大多数情况下,它都有某种意义 我看到一些行只有“
模板…”
”。
这是什么?

这意味着接下来是一个问题。

我猜,我完全误解了问题,回答了一些没有被问到的问题。
因此,我在这里回答被问到的问题:

它是一个带有空模板参数列表的

当您使用一组给定的模板参数实例化模板时,编译器将基于这些模板参数生成一个新定义。但是有一种工具可以覆盖定义生成的这种行为。我们可以指定编译器应该用于给定模板参数集的定义,而不是编译器生成定义。这称为显式专门化

template
前缀表示以下模板声明不采用模板参数

显式专门化可应用于:

  • 函数或类模板
  • 类模板的成员函数
  • 类模板的静态数据成员
  • 类模板的成员类
  • 类模板的成员函数模板&
  • 类模板的成员类模板

这是一种模板专门化,其中所有模板参数都被完全指定,而
中恰好没有留下任何参数

例如:

template<class A, class B>   // base template
struct Something
{ 
    // do something here
};

template<class A>            // specialize for B = int
struct Something<A, int>
{ 
    // do something different here
};

template<>                   // specialize both parameters
struct Something<double, int>
{ 
    // do something here too
};
模板//基本模板
构造某物
{ 
//在这里做点什么
};
模板//专用于B=int
构造某物
{ 
//在这里做些不同的事情
};
模板//专门化这两个参数
构造某物
{ 
//在这里也做点什么
};