前端之家收集整理的这篇文章主要介绍了
C/C++中的内联函数是一种使它们成为线程安全的方法吗?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我做了以下推理,请告诉我它的
错误(或正确):
“如果内联函数重复调用函数所在位置的代码,则调用它的每个函数都会复制静态和局部变量,如果只有一个运行该函数的线程同时调用内联函数,那么代码是线程安全的“.
“而且,如果它对静态和全局变量没有帮助,那么代码是否会创建临时变量呢?”
谢谢
当您将
函数声明为内联时,它只是对编译器的
提示.静态变量在语言中有明确的定义.如果编译器内联
函数,则仍然有义务保持
函数的所有实例之间共享的静态变量.因此,它们将保持全球性并且必须在MT环境中受到保护.
对于局部变量,除非它们在函数之外使用,否则无论是否内联函数,它们都是线程安全的.
原文链接:https://www.f2er.com/c/117403.html