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. 增強型Javascript for-statement安全使用?
- 9. sync.WaitGroup可以安全地重用嗎?
- 10. Malloc可以安全地使用nogil嗎?
- 11. 可以安全地應用補丁嗎?
- 12. 共享變種可以安全嗎?
- 13. 我可以安全地重命名我的Subversion項目嗎?
- 14. 過度使用可變增強安全性?
- 15. 我可以用<span>圍繞圓形元素包裝文本嗎?
- 16. php變量可以安全地保存有害代碼嗎?
- 17. 我可以在全球安裝Gulp嗎?
- 18. 我可以簽署安裝程序以繞過本地管理要求嗎?
- 19. 我可以安全地使用域URI
- 20. 我可以安全地填充GET請求嗎?
- 21. 我可以安全地認爲這個INSERT成功了嗎?
- 22. 我可以安全地使用utf8mb4列的utf8連接嗎?
- 23. 我可以安全地清除直接管理中的IMAP嗎?
- 24. 當SynchronizationContext.Current爲空時,我可以安全地使用Task.Wait嗎?
- 25. 現在我們可以使用diagnostics.wadcfgx安全地刪除diagnostics.wadcfg嗎?
- 26. 我可以安全地將UInt32存儲到NSUInteger中嗎?
- 27. 我可以安全地從centos linux中刪除mariadb嗎?
- 28. 我可以安全地分發哈希密碼嗎?
- 29. 我可以安全地刪除Amazon EC2 ssh密鑰嗎?
- 30. 我可以安全地擴展JavaScript內置類嗎?
+1爲鏈接到容器內部! – leemes