初始化器清單和運算子的右邊
初始化器清單是初始化變數和物件的便利方法,但它們的用途是限制在運算符的右側。這可能令人費解,因為在這種情況下允許初始化器清單似乎是合乎邏輯的。
限制的原因
根據 C 標準,不考慮初始化器列表表達式。由於運算子的參數通常需要表達式,因此禁止使用純初始值設定項清單。
異常
有一些允許使用初始值設定項清單的例外:
基本原理
C 11 標準委員會決定不允許在運算符的左側可簡化解析器的實作。允許它們位於右側而不允許它們位於左側會太不一致。
替代方案
幸運的是,還有其他方法可以使用初始化列表位於運算符的右側。一種選擇是將初始值設定項清單括在括號中,這會將其轉換為右值參考表達式:
另一種選擇是建立適當類型的臨時變數並使用初始值設定項清單對其進行初始化:
雖然這些替代方案可能不如直接使用初始化列表那麼方便,但它們為右側的限制提供了一種解決方法運營商。
以上是為什麼初始化清單不能直接用在 C 運算子的右邊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!