我对 C++ 和 Qt 很陌生,但我非常擅长 C#/Java。
关键是我喜欢跨平台,但我对 Qt 感到困惑。 std::vector
不是已经是跨平台的吗,Qt 不提供与非跨平台的东西等效的东西吗?
还有 File
和 QFile
有何不同?
一个链接会很好,谢谢:)
原文由 Athiwat Chunlakhan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对 C++ 和 Qt 很陌生,但我非常擅长 C#/Java。
关键是我喜欢跨平台,但我对 Qt 感到困惑。 std::vector
不是已经是跨平台的吗,Qt 不提供与非跨平台的东西等效的东西吗?
还有 File
和 QFile
有何不同?
一个链接会很好,谢谢:)
原文由 Athiwat Chunlakhan 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于没有答案提及,Qt 容器,包括 QVector
通常具有更完整的 API,与 std::vector
相比,它确实提供了一定程度的额外便利并减少了冗长。
QVector
并未真正集成到 Qt API 中,该角色由 QList
,因此对于整体而言,使用 QVector
并不是一个强有力的论据与 Qt API 更好的兼容性。请注意,这可能会在 Qt 6 中改变,因为 QList
的缺点越来越被认可。
话虽如此,如果您的应用程序已经依赖 Qt,那么为了方便起见,使用 QVector
会很有意义。我认为没有人会为一两个容器添加像 Qt 这样臃肿的依赖项。 QVector
高效且性能稳定,在 Qt 支持的任何平台上都可以正常运行。
另一方面,如果你想创建一个与框架无关的核心逻辑 API,如果可能的话,最好用标准 C++ 开发它,这样你就可以得到一些不依赖于特定 GUI 框架的可移植的东西,所以如果需要,您可以在将来轻松地将其迁移到另一个。
原文由 dtech 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
这篇文章看起来不错。它将 Qt 模板库与标准模板库进行了比较:
希望您会发现看到文章中列出的所有差异会很有趣。
编辑:
以下是我觉得有趣的地方:
就像他说的,没有明显的赢家。但是仍然阅读这篇文章可以使很多事情变得清晰。知道其中的区别总比不知道另一个更好。