内联模板有什么意义吗?
尽管模板是在标头中定义的,但由于潜在的潜在影响,使用 inline 关键字具有重要意义。编译器优化。
编译器的内联处理
现代编译器当然可以确定内联函数何时是有益的。然而,inline 关键字针对模板有不同的用途。
模板内联语义
函数模板以两种形式存在:非完全专用和完全专用。
示例
考虑以下因素code:
#include "tpl.h" int main() { f(5); // Non-fully specialized g(5); // Fully specialized return 0; }
tpl.h:
template<class T> void f(T); template<class T> inline T g(T);
编译此代码会导致 g 出错,因为它是完全专用的模板并且未指定内联。
经验法则
为了避免混淆并确保行为一致,遵循经验法则:
如果你想的话就内联编写。
通过明确指示模板的内联性质,你可以让编译器和其他人都清楚开发人员应尽可能内联这些函数。
以上是使用 C 模板时'inline”关键字重要吗?的详细内容。更多信息请关注PHP中文网其他相关文章!