Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在阅读 C++ 标准草案 n3485 中的 14.7.2,它说:
2 显式实例化的语法是:explicit-instantiation: externopt template declaration 显式实例化有两种形式:显式实例化定义和显式实例化声明。显式实例化声明以extern关键字开头。
2 显式实例化的语法是:explicit-instantiation: externopt template declaration
extern
显式实例化有两种形式:显式实例化定义和显式实例化声明。显式实例化声明以extern关键字开头。
看到模板声明和定义总是放在标题中,我从未见过extern模板上的声明。那个加粗的句子到底是什么意思?
另外为什么实例化会关心extern?
它告诉编译器不要在这个 TU 中实例化该模板。
extern请注意,如果您希望代码实际链接,它应该在一个 TU(没有位)中实例化。