下面我正在嘗試將操作後的值與自身進行比較和我只想在它更改時才返回它。我嘗試了下面的代碼,但我無法在表達式中聲明變量。有沒有辦法做到這一點?更改一個值並知道它是否在一行中更改
注意,我問這個的原因是效率,這樣我就不必如下評價表達兩次:
for (int i = 0; i < SIZE; ++i)
if (ray[i] != (ray[i] & (1u << 5))
return (ray[i] & (1u << 5); //EVALUATING THE EXPRESSION TWICE
是否有辦法我可以做一個操作並知道它是否改變了第一個標記的值? (這也可以解決這個問題)
它真的必須在一條線上嗎?如果你在某處宣佈了'a',我認爲你的第一個例子會起作用。 – Jay
確實,這裏真正的問題是不使用括號的習慣:) – Zong
'ray [i]'是什麼類型?更重要的是,它能否成爲負面? – Peter