今日の boost::mutex::scoped_lock

boost::mutex mtx;

void userOfShared()
{
    boost::mutex::scoped_lock(mtx); ←←

    sharedResource->arr[sharedResource->idx++];
}

共有資源オワタ\(^o^)/
あるクラスのオブジェクトをヒープ上に取るのを禁止するには static void *operator new() をprivateにすればよい.またヒープ上に取るのしか許さないならctorをprivateにして,代わりに new をラップしたfactory methodをpublicにすればよい.
しかし一時オブジェクトを禁止する方法はどっかにないのか... ぎりぎり可能なのは, this* を返さないメソッドを2回呼ばないとdtorで例外投げる,くらいかな.でもdtorで例外投げちゃいかんと言われてるんだよね...