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