gpt4 book ai didi

c++ - QByteArray 值比较

转载 作者:行者123 更新时间:2023-11-28 00:11:00 26 4
gpt4 key购买 nike

为什么声明:

QByteArray data (initialized somehow);
if(data.at(0) == 0xFF)
do_something();

发出这样的警告:由于数据类型 [-Wtype-limits] 范围有限,比较总是错误的。

您可以使用0xff 值初始化QByteArray:

QByteArray data;
data[0]=0xff;

这不会给出警告或错误,那么为什么不能将它与 0xff 值进行比较呢?

最佳答案

QByteArray 是 Qt 处理 const char * 的安全方式。 char 的范围是从 -128 到 127。因此您可以分配或比较您的值:

if(data.at(0) == 0xFF)
{
}

但编译器会生成警告,指出条件始终为 false。由于范围的原因,字符值永远不会是 255。它不是 unsigned char

关于c++ - QByteArray 值比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33155099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com