在 C++ 中,当您在静态成员函数中有局部变量时,这是否意味着这些局部变量也是隐式静态的,或者它们真的是局部的?
例子:
static void myClass::somefunc(int someint)
{
int myint = someint; // is myint really a local variable or does it change due to the static qualifier at function level?
}
此外,运行此函数的线程池中的不同线程,myint 是否需要被锁保护?假设传递给它的所有值都是不同的并且彼此没有关系。
编辑:谢谢你的答案。现在如果我传入 a boost::shared_ptr<T>
,知道这个对象不会被另一个线程同时使用怎么办?(不确定是否真的可以保证,或者你可以吗?)
我想传入的原始 ptr 需要一些保护,如果它被全部使用?