0
我正在研究一些代碼,發現這個(here):如果語句比較架空VS分配開銷
void ass_set_margins(ASS_Renderer *priv, int t, int b, int l, int r)
{
if (priv->settings.left_margin != l || priv->settings.right_margin != r ||
priv->settings.top_margin != t || priv->settings.bottom_margin != b) {
priv->settings.left_margin = l;
priv->settings.right_margin = r;
priv->settings.top_margin = t;
priv->settings.bottom_margin = b;
ass_reconfigure(priv);
}
}
我很奇怪,爲什麼是需要首先檢查值,這樣,如果其中一個是不同的從傳遞的參數,然後我們分配所有的值與傳遞的參數?如果我們不經過檢查就通過了他們呢?代碼少,開銷少?
更改狀態的開銷不僅僅是檢查它嗎?
哦,我就像一個盲人不知道它。謝謝! –