C++模板函数线程是否安全?

sla*_*ais 2 c++ thread-safety template-function

谷歌搜索没有找到任何东西.它们是在使用点创建的,还是实例之间共享的通用部分?

(模板类相同吗?)

Pet*_* G. 11

模板函数在编译时创建.模板属性与线程安全完全正交.

  • 如果不够清楚:C++模板就是所谓的"代码生成器".这意味着当编译器遇到模板时,它会为您在该模板中使用的每种类型创建一组全新的机器指令.因此,最终会有两个完全独立的函数被调用.int函数<type_a>()是一个完全不同的代码路径,而不是机器级的int函数<type_b>(),即使它们执行相同的操作.因此,它们的局部变量确实是线程安全的(不同的堆栈帧),但不是其他任何东西. (2认同)

Mic*_*urr 6

它们不比任何其他类型的函数更多或更少线程安全.

  • @John Dibling:换句话说,*mu*.http://www.catb.org/jargon/html/M/mu.html (3认同)