小编tam*_*bel的帖子

在异常时解锁互斥锁

mutex.lock();
try
{
    foo(); // can throw exception
}
catch (...)
{
    mutex.unlock();
    throw;
}
mutex.unlock();
Run Code Online (Sandbox Code Playgroud)

为了保证解锁我必须mutex.unlock()在catch块中调用并且在正常情况下.有没有选择避免重复?

谢谢

c++ mutex exception

5
推荐指数
1
解决办法
2643
查看次数

通过转换基类指针来设置派生类字段

class A
{
public: 
    int a;
};
class B:public A
{
public:
    int b;
    void foo()
    {
        b=a*a;
    }
};
int _tmain(int argc, _TCHAR* argv[])
{ 
    A * a=new A;
    a->a=10;
    ((B*)a)->foo();
    cout<<((B*)a)->b;
}
Run Code Online (Sandbox Code Playgroud)

它的工作b=100原理,但我不知道它的工作原理.b存放在哪里 ?我只是不知道它如何调用谷歌它.

c++ language-lawyer

2
推荐指数
1
解决办法
117
查看次数

标签 统计

c++ ×2

exception ×1

language-lawyer ×1

mutex ×1