Mar*_*k S 6 c++ templates c++11
我遇到过这样的代码:
template<class T> extern void f(T a);
Run Code Online (Sandbox Code Playgroud)
在.h文件中,f()在cpp文件中定义了几个特定的T.
我无法找到有关此语法的任何解释.我已经看到extern模板是在c ++ 11中引入的,但它们似乎有不同的语法......
有人可以详细说明吗?
谢谢
在extern
这里是多余的.这意味着从该模板实例化的函数具有外部链接.这是正常的extern
,你要申请一个普通的函数定义,以表明它具有外部链接.这也是多余的,因为默认情况下函数具有外部链接.所以它是一样的
template <class T> void f(T a);
Run Code Online (Sandbox Code Playgroud)
您已经提到过几个明确的实例化(或者可能是专业化,您的问题不清楚)在.cpp
文件中定义.这仍然与使用的extern
关键字无关,也可以在没有它的情况下完成.
归档时间: |
|
查看次数: |
482 次 |
最近记录: |