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++标准草案N385中阅读了147.2,它表示:_C++_Templates_C++11 - Fatal编程技术网

外部显式实例化声明 我在C++标准草案N385中阅读了147.2,它表示:

外部显式实例化声明 我在C++标准草案N385中阅读了147.2,它表示:,c++,templates,c++11,C++,Templates,C++11,2显式实例化的语法为: 显式实例化: externopt模板声明 显式实例化有两种形式:显式实例化定义和显式实例化声明显式实例化声明以extern关键字开始。 看到模板声明和定义总是放在标题中,我从来没有在模板上看到带有extern的声明。那个粗体的句子到底是什么意思 还有,为什么实例化会关心extern 它告诉编译器不要在此TU中实例化该模板 请注意,如果您希望您的代码实际链接,它应该在一个TU中实例化(没有extern位)。“实例化为什么会关心extern?”因为这是显式实例化声明所使用的语

2显式实例化的语法为: 显式实例化:
extern
opt模板声明

显式实例化有两种形式:显式实例化定义和显式实例化声明显式实例化声明以
extern
关键字开始。

看到模板声明和定义总是放在标题中,我从来没有在模板上看到带有
extern
的声明。那个粗体的句子到底是什么意思


还有,为什么实例化会关心
extern

它告诉编译器不要在此TU中实例化该模板

请注意,如果您希望您的代码实际链接,它应该在一个TU中实例化(没有
extern
位)。

“实例化为什么会关心extern?”因为这是显式实例化声明所使用的语法。为什么编译器会忽略更改衰减含义的有效语法?像
extern-inti它说“这是一个声明,不是一个定义,在程序的某个地方会有一个定义”