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?
}
また、この機能を実行しているスレッドプールとは別のスレッドが、ミンは、ロックによって保護される必要があるのでしょうか?それに渡されるすべての値が異なり、互いに関係がないと仮定します。
EDIT:答えのためのThanx。今、boost::shared_ptr<T>
を渡したら、このオブジェクトが別のスレッドで同時に使用されないことを知っていますか? (確かにそれが保証できるのかどうかは確かではありません)
生のptrが渡されたと思いますが、何か保護が必要なのでしょうか?
あなたは、静的持つ2つの完全に異なる意味で混乱している無料の機能と同じ「タイプ」があります。あなたは一人ではありません。なぜなら、スタンドアロン関数の静的な機能は現在廃止されているのかもしれません。 – Suma