最令人煩惱的解析是指C 中的語法歧義,在聲明函數時可能會導致意外結果。出現的一個令人困惑的細節是能夠將某些行解析為函數聲明,即使它們看起來不符合預期的語法。
考慮以下行:
vector<int> v(istream_iterator<int>(cin), istream_iterator<int>());
這一行由於最令人煩惱的解析,可以被解釋為函數宣告。第一個臨時迭代器 istream_iterator
然而,目前還不清楚第一個臨時迭代器代表什麼類型。理解這一點的關鍵是認識到 istream_iterator
這就提出了是否可以在函數呼叫中任意括號參數名稱的問題。答案是肯定的,如果您想突出顯示參數名稱或闡明其目的,可以將參數名稱括起來。但是,通常不鼓勵這樣做,因為它可能會導致混亂或意外的程式碼。此語法的主要目的是支援從 C 繼承的遺留語法,並且不被認為是現代 C 程式碼中的最佳實踐。
以上是在最令人煩惱的解析中將參數名稱括起來是怎麼回事?的詳細內容。更多資訊請關注PHP中文網其他相關文章!