4
A
回答
1
您可能知道,非POD類型的移動是技術上未定義的行爲。除此之外,變體不包含任何如果移除會造成問題的東西。既然你提到QList和QString是可變的,並且我很難相信它們是POD(儘管我沒有看到它們),但boost :: variant並沒有變得更糟。
2
A boost::variant
只包含一個積分索引和一個aligned_storage
,它由標準保證是一個POD。它沒有虛擬成員,但具有用戶定義的構造函數和析構函數。因此,boost::variant
不是一個POD,並試圖把它看作UB(好吧,我認爲它是UB,我沒有在標準中找到明確的參考)。
然而,同樣可以針對QList
,QString
等Apparently,Qt的假定一些非POD類型可以安全地memmoved,並使POD之間的區別(所謂的「原始類型」)和所述「活動類型「。因此,如果您認爲可以安全地移除QList
,那麼您可以考慮安全地移除含有可移動類型的boost::variant
。
相關問題
- 1. 我可以安全地更改SharedPreferences變量的類型嗎?
- 2. 我可以圍繞OS API崩潰嗎?
- 3. 我可以使用cURL繞過我的服務器安全嗎?
- 4. 我可以使用增強現實嗎?
- 5. 我可以安全地設置TERM環境變量嗎?
- 6. Ansible安裝了Git嗎?我可以安全地刪除它嗎?
- 7. 可以安全地應用補丁嗎?
- 8. 共享變種可以安全嗎?
- 9. 我可以安全地重命名我的Subversion項目嗎?
- 10. 過度使用可變增強安全性?
- 11. 我可以用<span>圍繞圓形元素包裝文本嗎?
- 12. 我可以在全球安裝Gulp嗎?
- 13. 我可以簽署安裝程序以繞過本地管理要求嗎?
- 14. 我可以安全地使用域URI
- 15. 我可以安全地將UInt32存儲到NSUInteger中嗎?
- 16. 我可以安全地分發哈希密碼嗎?
- 17. 我可以安全地清除直接管理中的IMAP嗎?
- 18. 我可以安全地從centos linux中刪除mariadb嗎?
- 19. 現在我們可以使用diagnostics.wadcfgx安全地刪除diagnostics.wadcfg嗎?
- 20. 我可以安全地擴展JavaScript內置類嗎?
- 21. 我可以安全地使用utf8mb4列的utf8連接嗎?
- 22. 我可以安全地刪除Amazon EC2 ssh密鑰嗎?
- 23. 我可以用動畫圍繞中心旋轉UIImage嗎?
- 24. 我可以(安全地)給一個像方法名稱一樣的變量嗎?
- 25. 圍繞iOS共享的安全NSHTTPCookieStorage
- 26. 我可以總是安全地投入固定(範圍)枚舉的基礎類型嗎?
- 27. 我可以繞過Visual Studio安裝項目中的卸載嗎?
- 28. 我可以繞過Python中的UnicodeDecodeError嗎?
- 29. 我可以繞過OpenCL緩存嗎?
- 30. iOS SDK 5.0可以安全地安裝在4.3旁邊嗎?
+1爲鏈接到容器內部! – leemes