【问题标题】:QByteArray vs unsigned char* speed [closed]QByteArray 与 unsigned char* 速度 [关闭]
【发布时间】:2013-07-20 05:13:27
【问题描述】:

我想知道 QByteArray 和 unsigned char* 在速度上有什么区别吗? 我的程序中有很多字节数组和复制操作,所以知道是否有任何区别对我来说很重要。 谢谢

【问题讨论】:

  • 你考虑过测试它吗?
  • 还没有。我问它是因为我想知道它背后的整个想法。因为我想在多个平台和不同的情况下使用它。我想可能是一个简单的测试结果对它没有很好的反应。

标签: qt qbytearray


【解决方案1】:

unsigned char* 用作字节数组非常简单。所以我会说理论上QByteArray 不能比这更快,尽管它可以同样快或慢一点。但是你不能(通常)单独使用unsigned char*。您必须将数组长度保持在某处,因此它变为unsigned char*int,至少对我而言,这比仅使用QByteArray 要多得多。 QByteArray 还包含很多成员函数。如果您在使用unsigned char* 时需要自己实现其中的许多,那么您的实现总是有可能比Qt 的实现慢。这需要大量的工作。

当然,在某些应用程序中,您可能拥有数百万个大小相同的数组,并且您不需要所有数组的大小变量。那么使用unsigned char* 会是一个更好的主意,特别是如果数组很短,因此QByteArray 的内存使用开销会很大。

我会说unsigned char* 更快。但根据您的应用程序和编码技能,它也可能只比QByteArray 快或慢。如果您真的想知道,请创建一个测试应用程序并测量速度。

【讨论】:

    猜你喜欢
    • 2016-07-07
    • 2013-02-26
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    相关资源
    最近更新 更多