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.
我知道一个长而复杂的内联方法可能会影响性能(尽管一个简短的简单方法可能会提高性能)。但是,模板类的方法必须在头文件中定义。他们是内联的吗?如果是这样,对表演有什么影响吗?我应该在模板类中有长而复杂的方法吗?
如果编译器认为它会提高性能,它将内联该函数。如果它认为它不会提高性能,它就不会内联它,即使它是在标题中定义的。如果它实际上没有内联该函数,它还将注意当该函数出现在不同的编译单元中时链接器不会混淆。
即使您声明了一个函数,这同样适用inline。
inline
所以编译器会做最好的事情,你不必担心。
您应该编写所需的代码并将其留给编译器以找出如何最好地使用它。在头文件中定义模板函数不会使它们内联;编译器可能会内联它们,也可能不会。