C++

頭が固い中年プログラマーだからなのかもしれんが、C++で{ }のブロックに依存したプログラミングが受け入れられない

    a();
    {
         T t;
         b();
    }
    c();

    a();
    T t;
    b();
    c();

で挙動が違う感じのやつ

class T {
public:
    T() { lock(); }
    ~T(){ unlock(); }
}

みたいになってると{ }の中でreturn してもunlock しわすれないでいいんだろうけど...僕は嫌いだなぁ。なんかの気まぐれでなんだこの{}イラねーじゃんとかいって消しちゃいそうだし
とかいいつつ

class CheckTime
{
public:
	CheckTime() :t(timeGetTime()) { ; }
	~CheckTime() { cout << timeGetTime() - t << "msec" << endl; } 
private:
	DWORD t;
};

とかしてブロックの時間が計れて便利ーとか思ったり、思わなかったり。
余計なことしてチョットでも遅くなるとイヤんな感じのプログラムばっか書いてるから、いつまでたっても気分はC言語