今日の 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で例外投げちゃいかんと言われてるんだよね...