c++模板类的成员函数在类内定义和类外定义有不同么?

模板类的成员函数如果在类内实现,也和非模板类一样会被默认inline么?如果如此的话是不是要在头文件类外定义某些成员函数?

阅读 4.1k
1 个回答
模板类的成员函数如果在类内实现,也和非模板类一样会被默认inline么?

是的

如果如此的话是不是要在头文件类外定义某些成员函数?

没必要。inline 只是给编译器的一个建议。最终是否 inline 由编译器决定,并不是所有 inline 函数都会真的 inline 。并且,很多非 inline 的函数也会被编译器 inline 掉。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题