c++ - 又长又复杂的模板成员方法会影响性能吗?

标签 c++ templates

我知道长而复杂的内联方法可能会影响性能(尽管短而简单的方法可能会提高性能)。但是,模板类的方法必须在头文件中定义。它们内联吗?如果是这样,对性能有影响吗?我应该在模板类中使用长而复杂的方法吗?

最佳答案

如果编译器认为可以提高性能,它会内联该函数。如果它认为它不会提高性能,它就不会内联它,即使它是在 header 中定义的。如果它实际上没有内联该函数,那么当该函数出现在不同的编译单元中时,它还会注意链接器不会混淆。

即使声明函数 inline 也是如此。

所以编译器会做最好的,你不必担心。

关于c++ - 又长又复杂的模板成员方法会影响性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181381/

相关文章:

c++ - 使用 TMP 计算表示值所需的位数

c++ - mex 编译错误 : Unrecognized switch: -cxx

c++ - iOS - GCC 无法看到似乎清晰可见的功能

javascript - mustache 模板可以进行模板扩展吗?

c++ - "run time templates"

css - 模板 : negative margins on float 有问题

C++:将部分 char 数组转换为 int 的有效方法

c++ - 添加新项时,什么数据结构会丢弃最旧的项?

c++ - OpenCL 浮点精度

c++ - Windows 上的 nmake 行为