3
我讀了幾行代碼here,它在我看來應該有一些括號。`copy`執行示例中的運算符優先級
template<class InputIterator, class OutputIterator>
OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result)
{
while (first!=last)
*result++ = *first++; // <--- this line
return result;
}
根據運算符優先級表here,我會認爲後綴增量將優先考慮,然後提領,然後是分配。但它看起來像我的意圖是,解除引用首先發生,然後是賦值,然後是後綴增量。
我讀錯了嗎?或者表錯了,或者代碼片段?還是有其他的東西呢?
這可以通過'*(result ++)= *(first ++);' –
Ahhh輕鬆驗證。謝謝。 – sje397
是的。不要將優先級與評估結果混淆。 –