微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c++11 范围循环可能会分离 Qt 容器

如何解决c++11 范围循环可能会分离 Qt 容器

使用 Qt Creator 为 MinGW 构建工具包编辑 C++11 代码

每次我们遍历一个 Qt 容器时,它都会给出这个警告:

Loop through Qt object

有没有更好的方法来写这个不会触发警告?

Using C++11 range-based for loop correctly in Qt 不是答案 - 请不要标记为重复! 这个问题建议使用 qAsConst;但这似乎没有帮助:

for (const QString &field : qAsConst(fields.keys()))
// - "Call to deleted function qAsConst"

for (const QString &field : qAsConst(fields).keys())
// - no effect,obvIoUsly - it was already const

for (const QString &field : std::as_const(fields.keys()))
// - "Call to deleted function as_const"

for (QJsonObject::const_iterator field = fields.constBegin(); field != fields.constEnd(); ++field)
// works,but a bit long-winded

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。