使用memcpy 構造可簡單複製的物件
使用C 時,開發人員可能會遇到有關使用memcpy 複製物件的有效性的問題對象的表示位元組。具體來說,會產生這種行為是否構成物件構造或賦值的疑問。
這個問題仍未解決,因為 C 標準沒有明確解決這種情況。然而,某些提案和討論為此事提供了指導。
官方標準的視角
目前的C 14 草案標準指出:「建立一個物件[.. .] 透過定義、新表達式或需要時的實現。
提案 p0593提案 p0593 嘗試解決此問題並為低階物件操作定義物件的隱式建立。它建議在新分配的儲存中自動建立足夠簡單類型的對象,以確保良好定義的行為。
根據p0593,以下操作應隱式建立物件:
建立char、unsigned char 或std::byte關於[ub] 類型雙關以避免複製的討論進一步凸顯了複雜性
總體而言,當前有關此主題的指南可以解釋,但諸如p0593 之類的提案旨在為這些操作提供清晰度和定義的行為。以上是memcpy 可以用於在 C 中建構可簡單複製的物件嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!