为什么使用 QVector(Qt) 而不是 std::vector

Why use QVector(Qt) instead of std::vector(为什么使用 QVector(Qt) 而不是 std::vector)
本文介绍了为什么使用 QVector(Qt) 而不是 std::vector的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我对 C++ 和 Qt 很陌生,但我很擅长 C#/Java.

I'm very new to C++ and Qt, but I'm very good at C#/Java.

关键是我喜欢跨平台,但我对 Qt 感到困惑.std::vector 不是已经跨平台了吗,Qt 不是提供了一个非跨平台的东西吗?

The point is I like cross-platform, but I'm confuse with Qt. Isn't std::vector already cross-platform, doesn't Qt provide an equivalent to a non-crossplatform thing?

还有 FileQFile 有什么不同?

Also how are File and QFile different?

一个链接会很好,谢谢:)

A link would be nice, thanks :)

推荐答案

这篇文章看起来不错.它比较了 Qt 模板库和标准模板库:

This article loooks good. It compares Qt Template Library with Standard Template Library:

  • QTL vs STL

希望,您会发现文章中列出的所有差异很有趣.

Hope, you'll find it interesting seeing all the differences listed there in the article.

这里是我觉得有趣的地方:

Here is what I find interesting:

我的观点是最大的QTL 的优点在于它具有相同的实现(包括二进制兼容性)在所有操作系统上Qt支持.一些 STL实现可能低于标准当谈到性能或他们可能缺少功能.一些平台甚至没有 STL!在另一方面,STL 更多可定制,可在其完整的头文件......就像我说的,没有明显的赢家.

My opinion is that the biggest advantage of the QTL is that it has the same implementation (including binary compatibility) on all OSes supported by Qt. Some STL implementations might be below par when it comes to performance or they might be missing functionality. Some platforms don’t even have an STL! On the other hand, the STL is more customizable and is available in its entirety in header files… Like I said, there is no clear winner.

就像他说的,没有明确的赢家.但是仍然阅读这篇文章会使很多事情变得清晰.了解其中的区别比不了解另一个要好.

Like he said, no clear winner. But still reading the article makes lots of things clear. Its better to know the difference than going for one, without knowing the other.

这篇关于为什么使用 QVector(Qt) 而不是 std::vector的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Bring window to front -gt; raise(),show(),activateWindow() don’t work(把窗户放在前面 -raise(),show(),activateWindow() 不起作用)
How to get a list video capture devices NAMES (web cameras) using Qt (crossplatform)? (C++)(如何使用 Qt(跨平台)获取列表视频捕获设备名称(网络摄像机)?(C++))
How to compile Qt as static(如何将 Qt 编译为静态)
C++ over Qt : Controlling transparency of Labels and Buttons(C++ over Qt:控制标签和按钮的透明度)
How to know when a new USB storage device is connected in Qt?(Qt如何知道新的USB存储设备何时连接?)
What is an event loop in Qt?(Qt 中的事件循环是什么?)