1

以下のコードは WebKit にあります。

RefPtr<Element> element = pendingScript.releaseElementAndClear();
if (ScriptElement* scriptElement = toScriptElement(element.get())) {
    NestingLevelIncrementer nestingLevelIncrementer(m_scriptNestingLevel);
    IgnoreDestructiveWriteCountIncrementer ignoreDestructiveWriteCountIncrementer(m_document);
    //Do something else...
    }
}

NestingLevelIncrementer は単純なクラスであり、構築時にカウンターを増加させ、破壊時にカウンターを減少させます。ここで実装を確認できます。

このスクラップでは、数字を直接増やしたり減らしたりするのと同じだと思います。おそらく唯一の利点は数を減らすことですが、新しいクラスが 1 つ導入されます。

このパターンを使用する他の理由はありますか?

4

1 に答える 1