C/C++中的内联函数是一种使它们成为线程安全的方法吗?

我做了以下推理,请告诉我它的错误(或正确):

“如果内联函数重复调用函数所在位置的代码,则调用它的每个函数都会复制静态和局部变量,如果只有一个运行该函数的线程同时调用内联函数,那么代码是线程安全的“.

“而且,如果它对静态和全局变量没有帮助,那么代码是否会创建临时变量呢?”

谢谢

最佳答案
当您将函数声明为内联时,它只是对编译器的提示.静态变量在语言中有明确的定义.如果编译器内联函数,则仍然有义务保持函数的所有实例之间共享的静态变量.因此,它们将保持全球性并且必须在MT环境中受到保护.

对于局部变量,除非它们在函数之外使用,否则无论是否内联函数,它们都是线程安全的.

转载注明原文:C/C++中的内联函数是一种使它们成为线程安全的方法吗? - 代码日志